From 9a07b8a9847f70e85d8d72bb6b888be9aef255a0 Mon Sep 17 00:00:00 2001 From: Alessandro Yuichi Okimoto Date: Wed, 5 Feb 2025 17:40:08 +0900 Subject: [PATCH] chore: add schedule update field to feature proto message Signed-off-by: Alessandro Yuichi Okimoto --- api-description/apidocs.swagger.yaml | 13 + api-description/web-api.swagger.yaml | 13 + manifests/bucketeer/charts/api/values.yaml | 2 +- manifests/bucketeer/charts/web/values.yaml | 4 +- proto/auditlog/proto_descriptor.pb | Bin 51735 -> 51912 bytes proto/feature/feature.pb.go | 189 +++++++++---- proto/feature/feature.proto | 6 + proto/feature/proto_descriptor.pb | Bin 52688 -> 52865 bytes proto/gateway/proto_descriptor.pb | Bin 124991 -> 125168 bytes proto/proto.lock | 21 ++ ui/web-v2/src/proto/feature/feature_pb.d.ts | 43 +++ ui/web-v2/src/proto/feature/feature_pb.js | 288 +++++++++++++++++++- 12 files changed, 524 insertions(+), 55 deletions(-) diff --git a/api-description/apidocs.swagger.yaml b/api-description/apidocs.swagger.yaml index 86881becfd..ae496f82d6 100644 --- a/api-description/apidocs.swagger.yaml +++ b/api-description/apidocs.swagger.yaml @@ -2415,6 +2415,11 @@ definitions: $ref: '#/definitions/featurePrerequisite' samplingSeed: type: string + scheduleUpdate: + type: array + items: + type: object + $ref: '#/definitions/featureScheduleUpdate' featureFeatureLastUsedInfo: type: object properties: @@ -2522,6 +2527,14 @@ definitions: items: type: object $ref: '#/definitions/featureRule' + featureScheduleUpdate: + type: object + properties: + feature: + $ref: '#/definitions/featureFeature' + updateAt: + type: string + format: int64 featureSegmentUser: type: object properties: diff --git a/api-description/web-api.swagger.yaml b/api-description/web-api.swagger.yaml index e8f50be2aa..cb26dbbce6 100644 --- a/api-description/web-api.swagger.yaml +++ b/api-description/web-api.swagger.yaml @@ -7516,6 +7516,11 @@ definitions: $ref: '#/definitions/featurePrerequisite' samplingSeed: type: string + scheduleUpdate: + type: array + items: + type: object + $ref: '#/definitions/featureScheduleUpdate' featureFeatureLastUsedInfo: type: object properties: @@ -7799,6 +7804,14 @@ definitions: items: type: object $ref: '#/definitions/featureRule' + featureScheduleUpdate: + type: object + properties: + feature: + $ref: '#/definitions/featureFeature' + updateAt: + type: string + format: int64 featureSegment: type: object properties: diff --git a/manifests/bucketeer/charts/api/values.yaml b/manifests/bucketeer/charts/api/values.yaml index c0303bfb26..f53eb02939 100644 --- a/manifests/bucketeer/charts/api/values.yaml +++ b/manifests/bucketeer/charts/api/values.yaml @@ -54,7 +54,7 @@ envoy: tag: v1.31.0 pullPolicy: IfNotPresent lbPolicy: LEAST_REQUEST - descriptor: CocFChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkieQoESHR0cBIqCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBXJ1bGVzEkUKH2Z1bGx5X2RlY29kZV9yZXNlcnZlZF9leHBhbnNpb24YAiABKAhSHGZ1bGx5RGVjb2RlUmVzZXJ2ZWRFeHBhbnNpb24itQIKCEh0dHBSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchISCgNnZXQYAiABKAlIAFIDZ2V0EhIKA3B1dBgDIAEoCUgAUgNwdXQSFAoEcG9zdBgEIAEoCUgAUgRwb3N0EhgKBmRlbGV0ZRgFIAEoCUgAUgZkZWxldGUSFgoFcGF0Y2gYBiABKAlIAFIFcGF0Y2gSNwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAUgZjdXN0b20SEgoEYm9keRgHIAEoCVIEYm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJYgZwcm90bzMK4UYKIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvEg9nb29nbGUucHJvdG9idWYiTQoRRmlsZURlc2NyaXB0b3JTZXQSOAoEZmlsZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3RvUgRmaWxlIv4EChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIAEoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19kZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZRJDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludGF4EhgKB2VkaXRpb24YDSABKAlSB2VkaXRpb24iuQYKD0Rlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjsKBWZpZWxkGAIgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUgVmaWVsZBJDCglleHRlbnNpb24YBiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhJBCgtuZXN0ZWRfdHlwZRgDIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SCm5lc3RlZFR5cGUSQQoJZW51bV90eXBlGAQgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlElgKD2V4dGVuc2lvbl9yYW5nZRgFIAMoCzIvLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uRXh0ZW5zaW9uUmFuZ2VSDmV4dGVuc2lvblJhbmdlEkQKCm9uZW9mX2RlY2wYCCADKAsyJS5nb29nbGUucHJvdG9idWYuT25lb2ZEZXNjcmlwdG9yUHJvdG9SCW9uZW9mRGVjbBI5CgdvcHRpb25zGAcgASgLMh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zUgdvcHRpb25zElUKDnJlc2VydmVkX3JhbmdlGAkgAygLMi4uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYCiADKAlSDHJlc2VydmVkTmFtZRp6Cg5FeHRlbnNpb25SYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQSQAoHb3B0aW9ucxgDIAEoCzImLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnNSB29wdGlvbnMaNwoNUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQirQQKFUV4dGVuc2lvblJhbmdlT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbhJZCgtkZWNsYXJhdGlvbhgCIAMoCzIyLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuRGVjbGFyYXRpb25CA4gBAlILZGVjbGFyYXRpb24SaAoMdmVyaWZpY2F0aW9uGAMgASgOMjguZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5WZXJpZmljYXRpb25TdGF0ZToKVU5WRVJJRklFRFIMdmVyaWZpY2F0aW9uGrMBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSIwoLaXNfcmVwZWF0ZWQYBCABKAhCAhgBUgppc1JlcGVhdGVkEhoKCHJlc2VydmVkGAUgASgIUghyZXNlcnZlZBIaCghyZXBlYXRlZBgGIAEoCFIIcmVwZWF0ZWQiNAoRVmVyaWZpY2F0aW9uU3RhdGUSDwoLREVDTEFSQVRJT04QABIOCgpVTlZFUklGSUVEEAEqCQjoBxCAgICAAiLBBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zEicKD3Byb3RvM19vcHRpb25hbBgRIAEoCFIOcHJvdG8zT3B0aW9uYWwitgIKBFR5cGUSDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAISDgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQzMhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZUEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSDgoKVFlQRV9HUk9VUBAKEhAKDFRZUEVfTUVTU0FHRRALEg4KClRZUEVfQllURVMQDBIPCgtUWVBFX1VJTlQzMhANEg0KCVRZUEVfRU5VTRAOEhEKDVRZUEVfU0ZJWEVEMzIQDxIRCg1UWVBFX1NGSVhFRDY0EBASDwoLVFlQRV9TSU5UMzIQERIPCgtUWVBFX1NJTlQ2NBASIkMKBUxhYmVsEhIKDkxBQkVMX09QVElPTkFMEAESEgoOTEFCRUxfUkVRVUlSRUQQAhISCg5MQUJFTF9SRVBFQVRFRBADImMKFE9uZW9mRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSNwoHb3B0aW9ucxgCIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnNSB29wdGlvbnMi4wIKE0VudW1EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI/CgV2YWx1ZRgCIAMoCzIpLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG9SBXZhbHVlEjYKB29wdGlvbnMYAyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnNSB29wdGlvbnMSXQoOcmVzZXJ2ZWRfcmFuZ2UYBCADKAsyNi5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90by5FbnVtUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAUgAygJUgxyZXNlcnZlZE5hbWUaOwoRRW51bVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIoMBChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnNSB29wdGlvbnMipwEKFlNlcnZpY2VEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI+CgZtZXRob2QYAiADKAsyJi5nb29nbGUucHJvdG9idWYuTWV0aG9kRGVzY3JpcHRvclByb3RvUgZtZXRob2QSOQoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9uc1IHb3B0aW9ucyKJAgoVTWV0aG9kRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSHQoKaW5wdXRfdHlwZRgCIAEoCVIJaW5wdXRUeXBlEh8KC291dHB1dF90eXBlGAMgASgJUgpvdXRwdXRUeXBlEjgKB29wdGlvbnMYBCABKAsyHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9uc1IHb3B0aW9ucxIwChBjbGllbnRfc3RyZWFtaW5nGAUgASgIOgVmYWxzZVIPY2xpZW50U3RyZWFtaW5nEjAKEHNlcnZlcl9zdHJlYW1pbmcYBiABKAg6BWZhbHNlUg9zZXJ2ZXJTdHJlYW1pbmcikQkKC0ZpbGVPcHRpb25zEiEKDGphdmFfcGFja2FnZRgBIAEoCVILamF2YVBhY2thZ2USMAoUamF2YV9vdXRlcl9jbGFzc25hbWUYCCABKAlSEmphdmFPdXRlckNsYXNzbmFtZRI1ChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgIOgVmYWxzZVIRamF2YU11bHRpcGxlRmlsZXMSRAodamF2YV9nZW5lcmF0ZV9lcXVhbHNfYW5kX2hhc2gYFCABKAhCAhgBUhlqYXZhR2VuZXJhdGVFcXVhbHNBbmRIYXNoEjoKFmphdmFfc3RyaW5nX2NoZWNrX3V0ZjgYGyABKAg6BWZhbHNlUhNqYXZhU3RyaW5nQ2hlY2tVdGY4ElMKDG9wdGltaXplX2ZvchgJIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucy5PcHRpbWl6ZU1vZGU6BVNQRUVEUgtvcHRpbWl6ZUZvchIdCgpnb19wYWNrYWdlGAsgASgJUglnb1BhY2thZ2USNQoTY2NfZ2VuZXJpY19zZXJ2aWNlcxgQIAEoCDoFZmFsc2VSEWNjR2VuZXJpY1NlcnZpY2VzEjkKFWphdmFfZ2VuZXJpY19zZXJ2aWNlcxgRIAEoCDoFZmFsc2VSE2phdmFHZW5lcmljU2VydmljZXMSNQoTcHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2VSEXB5R2VuZXJpY1NlcnZpY2VzEjcKFHBocF9nZW5lcmljX3NlcnZpY2VzGCogASgIOgVmYWxzZVIScGhwR2VuZXJpY1NlcnZpY2VzEiUKCmRlcHJlY2F0ZWQYFyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEi4KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BHRydWVSDmNjRW5hYmxlQXJlbmFzEioKEW9iamNfY2xhc3NfcHJlZml4GCQgASgJUg9vYmpjQ2xhc3NQcmVmaXgSKQoQY3NoYXJwX25hbWVzcGFjZRglIAEoCVIPY3NoYXJwTmFtZXNwYWNlEiEKDHN3aWZ0X3ByZWZpeBgnIAEoCVILc3dpZnRQcmVmaXgSKAoQcGhwX2NsYXNzX3ByZWZpeBgoIAEoCVIOcGhwQ2xhc3NQcmVmaXgSIwoNcGhwX25hbWVzcGFjZRgpIAEoCVIMcGhwTmFtZXNwYWNlEjQKFnBocF9tZXRhZGF0YV9uYW1lc3BhY2UYLCABKAlSFHBocE1ldGFkYXRhTmFtZXNwYWNlEiEKDHJ1YnlfcGFja2FnZRgtIAEoCVILcnVieVBhY2thZ2USWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iOgoMT3B0aW1pemVNb2RlEgkKBVNQRUVEEAESDQoJQ09ERV9TSVpFEAISEAoMTElURV9SVU5USU1FEAMqCQjoBxCAgICAAkoECCYQJyK7AwoOTWVzc2FnZU9wdGlvbnMSPAoXbWVzc2FnZV9zZXRfd2lyZV9mb3JtYXQYASABKAg6BWZhbHNlUhRtZXNzYWdlU2V0V2lyZUZvcm1hdBJMCh9ub19zdGFuZGFyZF9kZXNjcmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZVIcbm9TdGFuZGFyZERlc2NyaXB0b3JBY2Nlc3NvchIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIbCgltYXBfZW50cnkYByABKAhSCG1hcEVudHJ5ElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAsgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBBAFSgQIBRAGSgQIBhAHSgQICBAJSgQICRAKIoUJCgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xhenkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRhY3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkoKBnRhcmdldBgSIAEoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZUICGAFSBnRhcmdldBJICgd0YXJnZXRzGBMgAygOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlUgd0YXJnZXRzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIi8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEAIiVQoPT3B0aW9uUmV0ZW50aW9uEhUKEVJFVEVOVElPTl9VTktOT1dOEAASFQoRUkVURU5USU9OX1JVTlRJTUUQARIUChBSRVRFTlRJT05fU09VUkNFEAIijAIKEE9wdGlvblRhcmdldFR5cGUSFwoTVEFSR0VUX1RZUEVfVU5LTk9XThAAEhQKEFRBUkdFVF9UWVBFX0ZJTEUQARIfChtUQVJHRVRfVFlQRV9FWFRFTlNJT05fUkFOR0UQAhIXChNUQVJHRVRfVFlQRV9NRVNTQUdFEAMSFQoRVEFSR0VUX1RZUEVfRklFTEQQBBIVChFUQVJHRVRfVFlQRV9PTkVPRhAFEhQKEFRBUkdFVF9UWVBFX0VOVU0QBhIaChZUQVJHRVRfVFlQRV9FTlVNX0VOVFJZEAcSFwoTVEFSR0VUX1RZUEVfU0VSVklDRRAIEhYKElRBUkdFVF9UWVBFX01FVEhPRBAJKgkI6AcQgICAgAJKBAgEEAUicwoMT25lb2ZPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimAIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItACChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZUZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb24KqAIKHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8SCmdvb2dsZS5hcGkaFWdvb2dsZS9hcGkvaHR0cC5wcm90bxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG86SwoEaHR0cBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGLDKvCIgASgLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIEaHR0cEJuCg5jb20uZ29vZ2xlLmFwaUIQQW5ub3RhdGlvbnNQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwqGBAoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvEg9nb29nbGUucHJvdG9idWYiIwoLRG91YmxlVmFsdWUSFAoFdmFsdWUYASABKAFSBXZhbHVlIiIKCkZsb2F0VmFsdWUSFAoFdmFsdWUYASABKAJSBXZhbHVlIiIKCkludDY0VmFsdWUSFAoFdmFsdWUYASABKANSBXZhbHVlIiMKC1VJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgEUgV2YWx1ZSIiCgpJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgFUgV2YWx1ZSIjCgtVSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoDVIFdmFsdWUiIQoJQm9vbFZhbHVlEhQKBXZhbHVlGAEgASgIUgV2YWx1ZSIjCgtTdHJpbmdWYWx1ZRIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUiIgoKQnl0ZXNWYWx1ZRIUCgV2YWx1ZRgBIAEoDFIFdmFsdWVCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDVdyYXBwZXJzUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vd3JhcHBlcnNwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCuIFChxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYimAEKBlN0cnVjdBI7CgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5UgZmaWVsZHMaUQoLRmllbGRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASKyAgoFVmFsdWUSOwoKbnVsbF92YWx1ZRgBIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIAFIJbnVsbFZhbHVlEiMKDG51bWJlcl92YWx1ZRgCIAEoAUgAUgtudW1iZXJWYWx1ZRIjCgxzdHJpbmdfdmFsdWUYAyABKAlIAFILc3RyaW5nVmFsdWUSHwoKYm9vbF92YWx1ZRgEIAEoCEgAUglib29sVmFsdWUSPAoMc3RydWN0X3ZhbHVlGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RWYWx1ZRI7CgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWVCBgoEa2luZCI7CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YWx1ZXMqGwoJTnVsbFZhbHVlEg4KCk5VTExfVkFMVUUQAEJ/ChNjb20uZ29vZ2xlLnByb3RvYnVmQgtTdHJ1Y3RQcm90b1ABWi9nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zdHJ1Y3RwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCqY+Cixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8iswgKB1N3YWdnZXISGAoHc3dhZ2dlchgBIAEoCVIHc3dhZ2dlchJDCgRpbmZvGAIgASgLMi8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mb1IEaW5mbxISCgRob3N0GAMgASgJUgRob3N0EhsKCWJhc2VfcGF0aBgEIAEoCVIIYmFzZVBhdGgSSwoHc2NoZW1lcxgFIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEl8KCXJlc3BvbnNlcxgKIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJxChRzZWN1cml0eV9kZWZpbml0aW9ucxgLIAEoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnNSE3NlY3VyaXR5RGVmaW5pdGlvbnMSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJCCgR0YWdzGA0gAygLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgR0YWdzEmUKDWV4dGVybmFsX2RvY3MYDiABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJiCgpleHRlbnNpb25zGA8gAygLMkIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJSgQICRAKItYHCglPcGVyYXRpb24SEgoEdGFncxgBIAMoCVIEdGFncxIYCgdzdW1tYXJ5GAIgASgJUgdzdW1tYXJ5EiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAQgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSIQoMb3BlcmF0aW9uX2lkGAUgASgJUgtvcGVyYXRpb25JZBIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEmEKCXJlc3BvbnNlcxgJIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEksKB3NjaGVtZXMYCiADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSHgoKZGVwcmVjYXRlZBgLIAEoCFIKZGVwcmVjYXRlZBJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EmQKCmV4dGVuc2lvbnMYDSADKAsyRC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zElUKCnBhcmFtZXRlcnMYDiABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5QYXJhbWV0ZXJzUgpwYXJhbWV0ZXJzGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCSJiCgpQYXJhbWV0ZXJzElQKB2hlYWRlcnMYASADKAsyOi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXJSB2hlYWRlcnMiowIKD0hlYWRlclBhcmFtZXRlchISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJTCgR0eXBlGAMgASgOMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyLlR5cGVSBHR5cGUSFgoGZm9ybWF0GAQgASgJUgZmb3JtYXQSGgoIcmVxdWlyZWQYBSABKAhSCHJlcXVpcmVkIkUKBFR5cGUSCwoHVU5LTk9XThAAEgoKBlNUUklORxABEgoKBk5VTUJFUhACEgsKB0lOVEVHRVIQAxILCgdCT09MRUFOEARKBAgGEAdKBAgHEAgi2AEKBkhlYWRlchIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEgoEdHlwZRgCIAEoCVIEdHlwZRIWCgZmb3JtYXQYAyABKAlSBmZvcm1hdBIYCgdkZWZhdWx0GAYgASgJUgdkZWZhdWx0EhgKB3BhdHRlcm4YDSABKAlSB3BhdHRlcm5KBAgEEAVKBAgFEAZKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA1KBAgOEA9KBAgPEBBKBAgQEBFKBAgREBJKBAgSEBMimgUKCFJlc3BvbnNlEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhJJCgZzY2hlbWEYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSBnNjaGVtYRJaCgdoZWFkZXJzGAMgAygLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuSGVhZGVyc0VudHJ5UgdoZWFkZXJzEl0KCGV4YW1wbGVzGAQgAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXhhbXBsZXNFbnRyeVIIZXhhbXBsZXMSYwoKZXh0ZW5zaW9ucxgFIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxptCgxIZWFkZXJzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSRwoFdmFsdWUYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJSBXZhbHVlOgI4ARo7Cg1FeGFtcGxlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi1gMKBEluZm8SFAoFdGl0bGUYASABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIoChB0ZXJtc19vZl9zZXJ2aWNlGAMgASgJUg50ZXJtc09mU2VydmljZRJMCgdjb250YWN0GAQgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuQ29udGFjdFIHY29udGFjdBJMCgdsaWNlbnNlGAUgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuTGljZW5zZVIHbGljZW5zZRIYCgd2ZXJzaW9uGAYgASgJUgd2ZXJzaW9uEl8KCmV4dGVuc2lvbnMYByADKAsyPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJFCgdDb250YWN0EhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwSFAoFZW1haWwYAyABKAlSBWVtYWlsIi8KB0xpY2Vuc2USEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCJLChVFeHRlcm5hbERvY3VtZW50YXRpb24SIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhAKA3VybBgCIAEoCVIDdXJsIqoCCgZTY2hlbWESVgoLanNvbl9zY2hlbWEYASABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUgpqc29uU2NoZW1hEiQKDWRpc2NyaW1pbmF0b3IYAiABKAlSDWRpc2NyaW1pbmF0b3ISGwoJcmVhZF9vbmx5GAMgASgIUghyZWFkT25seRJlCg1leHRlcm5hbF9kb2NzGAUgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSGAoHZXhhbXBsZRgGIAEoCVIHZXhhbXBsZUoECAQQBSLXCgoKSlNPTlNjaGVtYRIQCgNyZWYYAyABKAlSA3JlZhIUCgV0aXRsZRgFIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlZmF1bHQYByABKAlSB2RlZmF1bHQSGwoJcmVhZF9vbmx5GAggASgIUghyZWFkT25seRIYCgdleGFtcGxlGAkgASgJUgdleGFtcGxlEh8KC211bHRpcGxlX29mGAogASgBUgptdWx0aXBsZU9mEhgKB21heGltdW0YCyABKAFSB21heGltdW0SKwoRZXhjbHVzaXZlX21heGltdW0YDCABKAhSEGV4Y2x1c2l2ZU1heGltdW0SGAoHbWluaW11bRgNIAEoAVIHbWluaW11bRIrChFleGNsdXNpdmVfbWluaW11bRgOIAEoCFIQZXhjbHVzaXZlTWluaW11bRIdCgptYXhfbGVuZ3RoGA8gASgEUgltYXhMZW5ndGgSHQoKbWluX2xlbmd0aBgQIAEoBFIJbWluTGVuZ3RoEhgKB3BhdHRlcm4YESABKAlSB3BhdHRlcm4SGwoJbWF4X2l0ZW1zGBQgASgEUghtYXhJdGVtcxIbCgltaW5faXRlbXMYFSABKARSCG1pbkl0ZW1zEiEKDHVuaXF1ZV9pdGVtcxgWIAEoCFILdW5pcXVlSXRlbXMSJQoObWF4X3Byb3BlcnRpZXMYGCABKARSDW1heFByb3BlcnRpZXMSJQoObWluX3Byb3BlcnRpZXMYGSABKARSDW1pblByb3BlcnRpZXMSGgoIcmVxdWlyZWQYGiADKAlSCHJlcXVpcmVkEhQKBWFycmF5GCIgAygJUgVhcnJheRJfCgR0eXBlGCMgAygOMksuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5KU09OU2NoZW1hU2ltcGxlVHlwZXNSBHR5cGUSFgoGZm9ybWF0GCQgASgJUgZmb3JtYXQSEgoEZW51bRguIAMoCVIEZW51bRJ6ChNmaWVsZF9jb25maWd1cmF0aW9uGOkHIAEoCzJILmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRmllbGRDb25maWd1cmF0aW9uUhJmaWVsZENvbmZpZ3VyYXRpb24SZQoKZXh0ZW5zaW9ucxgwIAMoCzJFLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGjwKEkZpZWxkQ29uZmlndXJhdGlvbhImCg9wYXRoX3BhcmFtX25hbWUYLyABKAlSDXBhdGhQYXJhbU5hbWUaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEidwoVSlNPTlNjaGVtYVNpbXBsZVR5cGVzEgsKB1VOS05PV04QABIJCgVBUlJBWRABEgsKB0JPT0xFQU4QAhILCgdJTlRFR0VSEAMSCAoETlVMTBAEEgoKBk5VTUJFUhAFEgoKBk9CSkVDVBAGEgoKBlNUUklORxAHSgQIARACSgQIAhADSgQIBBAFSgQIEhATSgQIExAUSgQIFxAYSgQIGxAcSgQIHBAdSgQIHRAeSgQIHhAiSgQIJRAqSgQIKhArSgQIKxAuItkCCgNUYWcSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgDIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEl4KCmV4dGVuc2lvbnMYBCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWcuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIvcBChNTZWN1cml0eURlZmluaXRpb25zEmgKCHNlY3VyaXR5GAEgAygLMkwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9ucy5TZWN1cml0eUVudHJ5UghzZWN1cml0eRp2Cg1TZWN1cml0eUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ek8KBXZhbHVlGAIgASgLMjkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWVSBXZhbHVlOgI4ASL/BgoOU2VjdXJpdHlTY2hlbWUSUgoEdHlwZRgBIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLlR5cGVSBHR5cGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhIKBG5hbWUYAyABKAlSBG5hbWUSTAoCaW4YBCABKA4yPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5JblICaW4SUgoEZmxvdxgFIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkZsb3dSBGZsb3cSKwoRYXV0aG9yaXphdGlvbl91cmwYBiABKAlSEGF1dGhvcml6YXRpb25VcmwSGwoJdG9rZW5fdXJsGAcgASgJUgh0b2tlblVybBJJCgZzY29wZXMYCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXNSBnNjb3BlcxJpCgpleHRlbnNpb25zGAkgAygLMkkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIksKBFR5cGUSEAoMVFlQRV9JTlZBTElEEAASDgoKVFlQRV9CQVNJQxABEhAKDFRZUEVfQVBJX0tFWRACEg8KC1RZUEVfT0FVVEgyEAMiMQoCSW4SDgoKSU5fSU5WQUxJRBAAEgwKCElOX1FVRVJZEAESDQoJSU5fSEVBREVSEAIiagoERmxvdxIQCgxGTE9XX0lOVkFMSUQQABIRCg1GTE9XX0lNUExJQ0lUEAESEQoNRkxPV19QQVNTV09SRBACEhQKEEZMT1dfQVBQTElDQVRJT04QAxIUChBGTE9XX0FDQ0VTU19DT0RFEAQi9gIKE1NlY3VyaXR5UmVxdWlyZW1lbnQSigEKFHNlY3VyaXR5X3JlcXVpcmVtZW50GAEgAygLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50RW50cnlSE3NlY3VyaXR5UmVxdWlyZW1lbnQaMAoYU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlEhQKBXNjb3BlGAEgAygJUgVzY29wZRqfAQoYU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Em0KBXZhbHVlGAIgASgLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50VmFsdWVSBXZhbHVlOgI4ASKWAQoGU2NvcGVzElIKBXNjb3BlGAEgAygLMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzLlNjb3BlRW50cnlSBXNjb3BlGjgKClNjb3BlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASo7CgZTY2hlbWUSCwoHVU5LTk9XThAAEggKBEhUVFAQARIJCgVIVFRQUxACEgYKAldTEAMSBwoDV1NTEARCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCv0GCi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8aLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvOn4KEW9wZW5hcGl2Ml9zd2FnZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJIIIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXJSEG9wZW5hcGl2MlN3YWdnZXI6hgEKE29wZW5hcGl2Ml9vcGVyYXRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiSCCABKAsyNC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb25SEm9wZW5hcGl2Mk9wZXJhdGlvbjp+ChBvcGVuYXBpdjJfc2NoZW1hEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJIIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIPb3BlbmFwaXYyU2NoZW1hOnUKDW9wZW5hcGl2Ml90YWcSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYkgggASgLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgxvcGVuYXBpdjJUYWc6fgoPb3BlbmFwaXYyX2ZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiSCCABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUg5vcGVuYXBpdjJGaWVsZEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMKkgEKGXByb3RvL2NvbW1vbi9zdHJpbmcucHJvdG8SEGJ1Y2tldGVlci5jb21tb24iKQoPU3RyaW5nTGlzdFZhbHVlEhYKBnZhbHVlcxgBIAMoCVIGdmFsdWVzQjBaLmdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9jb21tb25iBnByb3RvMwrABAoVcHJvdG8vdXNlci91c2VyLnByb3RvEg5idWNrZXRlZXIudXNlciLeAwoEVXNlchIOCgJpZBgBIAEoCVICaWQSMgoEZGF0YRgCIAMoCzIeLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YUVudHJ5UgRkYXRhEkUKC3RhZ2dlZF9kYXRhGAMgAygLMiQuYnVja2V0ZWVyLnVzZXIuVXNlci5UYWdnZWREYXRhRW50cnlSCnRhZ2dlZERhdGESGwoJbGFzdF9zZWVuGAQgASgDUghsYXN0U2VlbhIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQafAoERGF0YRI6CgV2YWx1ZRgBIAMoCzIkLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YS5WYWx1ZUVudHJ5UgV2YWx1ZRo4CgpWYWx1ZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaNwoJRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaWAoPVGFnZ2VkRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei8KBXZhbHVlGAIgASgLMhkuYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhUgV2YWx1ZToCOAFCLlosZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3VzZXJiBnByb3RvMwqiAgodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlImcKCVZhcmlhdGlvbhIOCgJpZBgBIAEoCVICaWQSFAoFdmFsdWUYAiABKAlSBXZhbHVlEhIKBG5hbWUYAyABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIkoKElZhcmlhdGlvbkxpc3RWYWx1ZRI0CgZ2YWx1ZXMYASADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SBnZhbHVlc0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCp4CChpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUisQEKBlJlYXNvbhIyCgR0eXBlGAEgASgOMh4uYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uLlR5cGVSBHR5cGUSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIloKBFR5cGUSCgoGVEFSR0VUEAASCAoEUlVMRRABEgsKB0RFRkFVTFQQAxIKCgZDTElFTlQQBBIRCg1PRkZfVkFSSUFUSU9OEAUSEAoMUFJFUkVRVUlTSVRFEAZCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqYBgoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8aGnByb3RvL2ZlYXR1cmUvcmVhc29uLnByb3RvIuMCCgpFdmFsdWF0aW9uEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhIXCgd1c2VyX2lkGAQgASgJUgZ1c2VySWQSIQoMdmFyaWF0aW9uX2lkGAUgASgJUgt2YXJpYXRpb25JZBI+Cgl2YXJpYXRpb24YBiABKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25CAhgBUgl2YXJpYXRpb24SMQoGcmVhc29uGAcgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uUgZyZWFzb24SJwoPdmFyaWF0aW9uX3ZhbHVlGAggASgJUg52YXJpYXRpb25WYWx1ZRIlCg52YXJpYXRpb25fbmFtZRgJIAEoCVINdmFyaWF0aW9uTmFtZSKGAgoPVXNlckV2YWx1YXRpb25zEhIKAmlkGAEgASgJQgIYAVICaWQSPwoLZXZhbHVhdGlvbnMYAiADKAsyHS5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0aW9uUgtldmFsdWF0aW9ucxIdCgpjcmVhdGVkX2F0GAMgASgDUgljcmVhdGVkQXQSMAoUYXJjaGl2ZWRfZmVhdHVyZV9pZHMYBCADKAlSEmFyY2hpdmVkRmVhdHVyZUlkcxIhCgxmb3JjZV91cGRhdGUYBSABKAhSC2ZvcmNlVXBkYXRlIioKBVN0YXRlEgoKBlFVRVVFRBAAEgsKB1BBUlRJQUwQARIICgRGVUxMEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrHAwoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlItoCCgZDbGF1c2USDgoCaWQYASABKAlSAmlkEhwKCWF0dHJpYnV0ZRgCIAEoCVIJYXR0cmlidXRlEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchIWCgZ2YWx1ZXMYBCADKAlSBnZhbHVlcyLJAQoIT3BlcmF0b3ISCgoGRVFVQUxTEAASBgoCSU4QARINCglFTkRTX1dJVEgQAhIPCgtTVEFSVFNfV0lUSBADEgsKB1NFR01FTlQQBBILCgdHUkVBVEVSEAUSFAoQR1JFQVRFUl9PUl9FUVVBTBAGEggKBExFU1MQBxIRCg1MRVNTX09SX0VRVUFMEAgSCgoGQkVGT1JFEAkSCQoFQUZURVIQChIQCgxGRUFUVVJFX0ZMQUcQCxITCg9QQVJUSUFMTFlfTUFUQ0gQDEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCrsEChxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSItCg1GaXhlZFN0cmF0ZWd5EhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uIqIBCg9Sb2xsb3V0U3RyYXRlZ3kSTAoKdmFyaWF0aW9ucxgBIAMoCzIsLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneS5WYXJpYXRpb25SCnZhcmlhdGlvbnMaQQoJVmFyaWF0aW9uEhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uEhYKBndlaWdodBgCIAEoBVIGd2VpZ2h0IvgBCghTdHJhdGVneRI0CgR0eXBlGAEgASgOMiAuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3kuVHlwZVIEdHlwZRJHCg5maXhlZF9zdHJhdGVneRgCIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLkZpeGVkU3RyYXRlZ3lSDWZpeGVkU3RyYXRlZ3kSTQoQcm9sbG91dF9zdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIPcm9sbG91dFN0cmF0ZWd5Ih4KBFR5cGUSCQoFRklYRUQQABILCgdST0xMT1VUEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrrAgoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aHHByb3RvL2ZlYXR1cmUvc3RyYXRlZ3kucHJvdG8ihAEKBFJ1bGUSDgoCaWQYASABKAlSAmlkEjcKCHN0cmF0ZWd5GAIgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5EjMKB2NsYXVzZXMYAyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSB2NsYXVzZXMiQAoNUnVsZUxpc3RWYWx1ZRIvCgZ2YWx1ZXMYASADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgZ2YWx1ZXNCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwruAQoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIjwKBlRhcmdldBIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIUCgV1c2VycxgCIAMoCVIFdXNlcnMiRAoPVGFyZ2V0TGlzdFZhbHVlEjEKBnZhbHVlcxgBIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK9AIKKnByb3RvL2ZlYXR1cmUvZmVhdHVyZV9sYXN0X3VzZWRfaW5mby5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi9wEKE0ZlYXR1cmVMYXN0VXNlZEluZm8SHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhgKB3ZlcnNpb24YAiABKAVSB3ZlcnNpb24SIAoMbGFzdF91c2VkX2F0GAMgASgDUgpsYXN0VXNlZEF0Eh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIyChVjbGllbnRfb2xkZXN0X3ZlcnNpb24YBSABKAlSE2NsaWVudE9sZGVzdFZlcnNpb24SMgoVY2xpZW50X2xhdGVzdF92ZXJzaW9uGAYgASgJUhNjbGllbnRMYXRlc3RWZXJzaW9uQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKlAIKIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJQCgxQcmVyZXF1aXNpdGUSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiUAoVUHJlcmVxdWlzaXRlTGlzdFZhbHVlEjcKBnZhbHVlcxgBIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK6AMKH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8SCmdvb2dsZS5hcGkaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvKrYBCg1GaWVsZEJlaGF2aW9yEh4KGkZJRUxEX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASDAoIT1BUSU9OQUwQARIMCghSRVFVSVJFRBACEg8KC09VVFBVVF9PTkxZEAMSDgoKSU5QVVRfT05MWRAEEg0KCUlNTVVUQUJMRRAFEhIKDlVOT1JERVJFRF9MSVNUEAYSFQoRTk9OX0VNUFRZX0RFRkFVTFQQBxIOCgpJREVOVElGSUVSEAg6ZAoOZmllbGRfYmVoYXZpb3ISHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJwIIAMoDjIZLmdvb2dsZS5hcGkuRmllbGRCZWhhdmlvckICEABSDWZpZWxkQmVoYXZpb3JCcAoOY29tLmdvb2dsZS5hcGlCEkZpZWxkQmVoYXZpb3JQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwrkAQoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjYKA0FueRIZCgh0eXBlX3VybBgBIAEoCVIHdHlwZVVybBIUCgV2YWx1ZRgCIAEoDFIFdmFsdWVCdgoTY29tLmdvb2dsZS5wcm90b2J1ZkIIQW55UHJvdG9QAVosZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vYW55cGKiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwq1CAobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8itAQKB1NlZ21lbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEi0KBXJ1bGVzGAQgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIcCgd2ZXJzaW9uGAcgASgDQgIYAVIHdmVyc2lvbhIYCgdkZWxldGVkGAggASgIUgdkZWxldGVkEi4KE2luY2x1ZGVkX3VzZXJfY291bnQYCSABKANSEWluY2x1ZGVkVXNlckNvdW50EjIKE2V4Y2x1ZGVkX3VzZXJfY291bnQYCiABKANCAhgBUhFleGNsdWRlZFVzZXJDb3VudBI5CgZzdGF0dXMYCyABKA4yIS5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50LlN0YXR1c1IGc3RhdHVzEicKEGlzX2luX3VzZV9zdGF0dXMYDCABKAhSDWlzSW5Vc2VTdGF0dXMSNgoIZmVhdHVyZXMYDSADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyI+CgZTdGF0dXMSCwoHSU5JVElBTBAAEg0KCVVQTE9BRElORxABEgwKCFNVQ0VFREVEEAISCgoGRkFJTEVEEAMi1AEKC1NlZ21lbnRVc2VyEg4KAmlkGAEgASgJUgJpZBIdCgpzZWdtZW50X2lkGAIgASgJUglzZWdtZW50SWQSFwoHdXNlcl9pZBgDIAEoCVIGdXNlcklkEjoKBXN0YXRlGAQgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQiJwoFU3RhdGUSDAoISU5DTFVERUQQABIQCghFWENMVURFRBABGgIIASKCAQoMU2VnbWVudFVzZXJzEh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBI0CgV1c2VycxgCIAMoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyUgV1c2VycxIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqgBQogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIq0ECgtGbGFnVHJpZ2dlchIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEjcKBHR5cGUYBCABKA4yIy5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5UeXBlUgR0eXBlEj0KBmFjdGlvbhgFIAEoDjIlLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLkFjdGlvblIGYWN0aW9uEiAKC2Rlc2NyaXB0aW9uGAYgASgJUgtkZXNjcmlwdGlvbhIjCg10cmlnZ2VyX2NvdW50GAcgASgFUgx0cmlnZ2VyQ291bnQSKgoRbGFzdF90cmlnZ2VyZWRfYXQYCCABKANSD2xhc3RUcmlnZ2VyZWRBdBIUCgV0b2tlbhgJIAEoCVIFdG9rZW4SGgoIZGlzYWJsZWQYCiABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCyABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAwgASgDUgl1cGRhdGVkQXQSJQoOZW52aXJvbm1lbnRfaWQYDSABKAlSDWVudmlyb25tZW50SWQiKgoEVHlwZRIQCgxUeXBlX1VOS05PV04QABIQCgxUeXBlX1dFQkhPT0sQASI7CgZBY3Rpb24SEgoOQWN0aW9uX1VOS05PV04QABINCglBY3Rpb25fT04QARIOCgpBY3Rpb25fT0ZGEAJKBAgDEARCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrAIwobcHJvdG8vZmVhdHVyZS9jb21tYW5kLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvGiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90byI5CgdDb21tYW5kEi4KB2NvbW1hbmQYASABKAsyFC5nb29nbGUucHJvdG9idWYuQW55Ugdjb21tYW5kIrUDChRDcmVhdGVGZWF0dXJlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SPAoKdmFyaWF0aW9ucxgEIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxISCgR0YWdzGAUgAygJUgR0YWdzElgKGmRlZmF1bHRfb25fdmFyaWF0aW9uX2luZGV4GAYgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSF2RlZmF1bHRPblZhcmlhdGlvbkluZGV4EloKG2RlZmF1bHRfb2ZmX3ZhcmlhdGlvbl9pbmRleBgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhhkZWZhdWx0T2ZmVmFyaWF0aW9uSW5kZXgSTwoOdmFyaWF0aW9uX3R5cGUYCCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUiFwoVQXJjaGl2ZUZlYXR1cmVDb21tYW5kIhkKF1VuYXJjaGl2ZUZlYXR1cmVDb21tYW5kIhYKFERlbGV0ZUZlYXR1cmVDb21tYW5kIioKFFJlbmFtZUZlYXR1cmVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiPAoYQ2hhbmdlRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiK4AQopQ2hhbmdlQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1N0YXR1c0NvbW1hbmQSOQoGc3RhdHVzGAEgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIUCgVjb3VudBgDIAEoA1IFY291bnQiIQoNQWRkVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIkChBSZW1vdmVUYWdDb21tYW5kEhAKA3RhZxgBIAEoCVIDdGFnIhYKFEVuYWJsZUZlYXR1cmVDb21tYW5kIhcKFURpc2FibGVGZWF0dXJlQ29tbWFuZCJhChNBZGRWYXJpYXRpb25Db21tYW5kEhQKBXZhbHVlGAEgASgJUgV2YWx1ZRISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiIoChZSZW1vdmVWYXJpYXRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZCJDChtDaGFuZ2VWYXJpYXRpb25WYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZSJAChpDaGFuZ2VWYXJpYXRpb25OYW1lQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJVCiFDaGFuZ2VWYXJpYXRpb25EZXNjcmlwdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiIrChlDaGFuZ2VPZmZWYXJpYXRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZCI/ChlBZGRVc2VyVG9WYXJpYXRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBISCgR1c2VyGAIgASgJUgR1c2VyIkQKHlJlbW92ZVVzZXJGcm9tVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJXChxDaGFuZ2VEZWZhdWx0U3RyYXRlZ3lDb21tYW5kEjcKCHN0cmF0ZWd5GAEgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5Ij0KDkFkZFJ1bGVDb21tYW5kEisKBHJ1bGUYASABKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgRydWxlIn0KGUNoYW5nZVJ1bGVTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI3CghzdHJhdGVneRgDIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI0ChdDaGFuZ2VSdWxlc09yZGVyQ29tbWFuZBIZCghydWxlX2lkcxgCIAMoCVIHcnVsZUlkcyIjChFEZWxldGVSdWxlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiXgoQQWRkQ2xhdXNlQ29tbWFuZBIXCgdydWxlX2lkGAEgASgJUgZydWxlSWQSMQoGY2xhdXNlGAIgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgZjbGF1c2UiPgoTRGVsZXRlQ2xhdXNlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkImUKHENoYW5nZUNsYXVzZUF0dHJpYnV0ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIcCglhdHRyaWJ1dGUYAyABKAlSCWF0dHJpYnV0ZSKGAQobQ2hhbmdlQ2xhdXNlT3BlcmF0b3JDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSPgoIb3BlcmF0b3IYAyABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yIlYKFUFkZENsYXVzZVZhbHVlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhQKBXZhbHVlGAMgASgJUgV2YWx1ZSJZChhSZW1vdmVDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUigwEKGkNoYW5nZUZpeGVkU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSPAoIc3RyYXRlZ3kYAyABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5UghzdHJhdGVneSKHAQocQ2hhbmdlUm9sbG91dFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCHN0cmF0ZWd5GAMgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuUm9sbG91dFN0cmF0ZWd5UghzdHJhdGVneSJMChRDcmVhdGVTZWdtZW50Q29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiIWChREZWxldGVTZWdtZW50Q29tbWFuZCIuChhDaGFuZ2VTZWdtZW50TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJDCh9DaGFuZ2VTZWdtZW50RGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiJuChVBZGRTZWdtZW50VXNlckNvbW1hbmQSGQoIdXNlcl9pZHMYASADKAlSB3VzZXJJZHMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUicQoYRGVsZXRlU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIm8KHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNDb21tYW5kEhIKBGRhdGEYASABKAxSBGRhdGESOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUiIAoeSW5jcmVtZW50RmVhdHVyZVZlcnNpb25Db21tYW5kIkIKE0Nsb25lRmVhdHVyZUNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiGgoYUmVzZXRTYW1wbGluZ1NlZWRDb21tYW5kIl0KFkFkZFByZXJlcXVpc2l0ZUNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUiOgoZUmVtb3ZlUHJlcmVxdWlzaXRlQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQiaQoiQ2hhbmdlUHJlcmVxdWlzaXRlVmFyaWF0aW9uQ29tbWFuZBJDCgxwcmVyZXF1aXNpdGUYASABKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDHByZXJlcXVpc2l0ZSLTAQoYQ3JlYXRlRmxhZ1RyaWdnZXJDb21tYW5kEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAIgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YAyABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24iGQoXUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmQiRwojQ2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uIhoKGEVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIbChlEaXNhYmxlRmxhZ1RyaWdnZXJDb21tYW5kIhoKGERlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZCIfCh1VcGRhdGVGbGFnVHJpZ2dlclVzYWdlQ29tbWFuZEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsiYAQobcHJvdG8vZmVhdHVyZS9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhlwcm90by9jb21tb24vc3RyaW5nLnByb3RvGhtwcm90by9mZWF0dXJlL2NvbW1hbmQucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvGhVwcm90by91c2VyL3VzZXIucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhpwcm90by9mZWF0dXJlL3RhcmdldC5wcm90byJQChFHZXRGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0RmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIlMKEkdldEZlYXR1cmVzUmVxdWVzdBIQCgNpZHMYAiADKAlSA2lkcxIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJNChNHZXRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMi9QUKE0xpc3RGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEkkKCG9yZGVyX2J5GAQgASgOMi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El4KD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI1LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEh4KCm1haW50YWluZXIYByABKAlSCm1haW50YWluZXISNAoHZW5hYmxlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSQQoOaGFzX2V4cGVyaW1lbnQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1oYXNFeHBlcmltZW50EiUKDnNlYXJjaF9rZXl3b3JkGAogASgJUg1zZWFyY2hLZXl3b3JkEjYKCGFyY2hpdmVkGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSRwoRaGFzX3ByZXJlcXVpc2l0ZXMYDCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhBoYXNQcmVyZXF1aXNpdGVzEiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIlcKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBFRBR1MQBBILCgdFTkFCTEVEEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIBhAHIocBChRMaXN0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IpIBChpMaXN0RW5hYmxlZEZlYXR1cmVzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEhIKBHRhZ3MYAyADKAlSBHRhZ3MSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUibQobTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3IihgEKFENyZWF0ZUZlYXR1cmVSZXF1ZXN0EkEKB2NvbW1hbmQYASABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJNChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUi0AYKFFVwZGF0ZUZlYXR1cmVSZXF1ZXN0EhgKB2NvbW1lbnQYASABKAlSB2NvbW1lbnQSKgoOZW52aXJvbm1lbnRfaWQYAiABKAlCA+BBAlINZW52aXJvbm1lbnRJZBITCgJpZBgDIAEoCUID4EECUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhI1CgR0YWdzGAYgASgLMiEuYnVja2V0ZWVyLmNvbW1vbi5TdHJpbmdMaXN0VmFsdWVSBHRhZ3MSNAoHZW5hYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSNgoIYXJjaGl2ZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghhcmNoaXZlZBJFCgp2YXJpYXRpb25zGAkgASgLMiUuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uTGlzdFZhbHVlUgp2YXJpYXRpb25zEk4KDXByZXJlcXVpc2l0ZXMYCiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVMaXN0VmFsdWVSDXByZXJlcXVpc2l0ZXMSPAoHdGFyZ2V0cxgLIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldExpc3RWYWx1ZVIHdGFyZ2V0cxI2CgVydWxlcxgMIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVMaXN0VmFsdWVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYDSABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EkEKDW9mZl92YXJpYXRpb24YDiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDG9mZlZhcmlhdGlvbhIuChNyZXNldF9zYW1wbGluZ19zZWVkGA8gASgIUhFyZXNldFNhbXBsaW5nU2VlZCJNChVVcGRhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUisAEKFEVuYWJsZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVFbmFibGVGZWF0dXJlUmVzcG9uc2UisgEKFURpc2FibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkRpc2FibGVGZWF0dXJlUmVzcG9uc2UisgEKFUFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkFyY2hpdmVGZWF0dXJlUmVzcG9uc2UitgEKF1VuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJECgdjb21tYW5kGAIgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIaChhVbmFyY2hpdmVGZWF0dXJlUmVzcG9uc2UisAEKFERlbGV0ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVEZWxldGVGZWF0dXJlUmVzcG9uc2Ui3wMKG1VwZGF0ZUZlYXR1cmVEZXRhaWxzUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSXQoWcmVuYW1lX2ZlYXR1cmVfY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLlJlbmFtZUZlYXR1cmVDb21tYW5kUhRyZW5hbWVGZWF0dXJlQ29tbWFuZBJpChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZFIYY2hhbmdlRGVzY3JpcHRpb25Db21tYW5kEkoKEGFkZF90YWdfY29tbWFuZHMYBCADKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5BZGRUYWdDb21tYW5kUg5hZGRUYWdDb21tYW5kcxJTChNyZW1vdmVfdGFnX2NvbW1hbmRzGAUgAygLMiMuYnVja2V0ZWVyLmZlYXR1cmUuUmVtb3ZlVGFnQ29tbWFuZFIRcmVtb3ZlVGFnQ29tbWFuZHMSGAoHY29tbWVudBgHIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgIIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByIeChxVcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIq8BCh5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIhCh9VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1Jlc3BvbnNlIqECCh1VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSNgoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kUghjb21tYW5kcxIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EkkKBGZyb20YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdC5Gcm9tUgRmcm9tEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkIiYKBEZyb20SCwoHVU5LTk9XThAAEggKBFVTRVIQARIHCgNPUFMQAkoECAMQBCIgCh5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVzcG9uc2UilAEKE0Nsb25lRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkAKB2NvbW1hbmQYAiABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhYKFENsb25lRmVhdHVyZVJlc3BvbnNlItkBChRDcmVhdGVTZWdtZW50UmVxdWVzdBJUCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEhcKBG5hbWUYAyABKAlCA+BBAlIEbmFtZRIqCg5lbnZpcm9ubWVudF9pZBgEIAEoCUID4EECUg1lbnZpcm9ubWVudElkEiAKC2Rlc2NyaXB0aW9uGAUgASgJUgtkZXNjcmlwdGlvbkoECAIQAyJNChVDcmVhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiWgoRR2V0U2VnbWVudFJlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZEoECAIQAyJKChJHZXRTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiywQKE0xpc3RTZWdtZW50c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIzCgZzdGF0dXMYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIGc3RhdHVzEkMKEGlzX2luX3VzZV9zdGF0dXMYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1pc0luVXNlU3RhdHVzEioKDmVudmlyb25tZW50X2lkGAkgASgJQgPgQQJSDWVudmlyb25tZW50SWQiXAoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSDwoLQ09OTkVDVElPTlMQBBIJCgVVU0VSUxAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIrMBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0EiIKCnNlZ21lbnRfaWQYAiABKAlCA+BBAlIJc2VnbWVudElkEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEioKDmVudmlyb25tZW50X2lkGAQgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgBEAIiNgogQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2USEgoEZGF0YRgBIAEoDFIEZGF0YSKhAQoXRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QSKAoEdXNlchgBIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISEAoDdGFnGAMgASgJUgN0YWcSHQoKZmVhdHVyZV9pZBgEIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAhADImkKGEV2YWx1YXRlRmVhdHVyZXNSZXNwb25zZRJNChB1c2VyX2V2YWx1YXRpb25zGAEgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUg91c2VyRXZhbHVhdGlvbnMirAMKD0xpc3RUYWdzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkUKCG9yZGVyX2J5GAQgASgOMiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjEuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCJICgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAEQAiJ3ChBMaXN0VGFnc1Jlc3BvbnNlEioKBHRhZ3MYASADKAsyFi5idWNrZXRlZXIuZmVhdHVyZS5UYWdSBHRhZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiswEKGENyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBJqChtjcmVhdGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlckNvbW1hbmRSGGNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJwChlDcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCLDAQoYRGVsZXRlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtkZWxldGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlckNvbW1hbmRSGGRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlEZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIuYBChhVcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEowBCidjaGFuZ2VfZmxhZ190cmlnZ2VyX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyNi5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZFIjY2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZVXBkYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSLDAQoYRW5hYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtlbmFibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlckNvbW1hbmRSGGVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlFbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIscBChlEaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJtChxkaXNhYmxlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIZZGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIcChpEaXNhYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSK/AQoXUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmcKGnJlc2V0X2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmRSF3Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm8KGFJlc2V0RmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiVAoVR2V0RmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJtChZHZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCKqAwoXTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEhsKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSTQoIb3JkZXJfYnkYBSABKA4yMi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmIKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI5LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCI2CgdPcmRlckJ5EgsKB0RFRkFVTFQQABIOCgpDUkVBVEVEX0FUEAESDgoKVVBEQVRFRF9BVBACIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAIQAyKjAgoYTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlEmMKDWZsYWdfdHJpZ2dlcnMYASADKAsyPi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UuRmxhZ1RyaWdnZXJXaXRoVXJsUgxmbGFnVHJpZ2dlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQaaQoSRmxhZ1RyaWdnZXJXaXRoVXJsEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCIxChlGbGFnVHJpZ2dlcldlYmhvb2tSZXF1ZXN0EhQKBXRva2VuGAEgASgJUgV0b2tlbiIcChpGbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZTKaOQoORmVhdHVyZVNlcnZpY2USWwoKR2V0RmVhdHVyZRIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlc3BvbnNlIgASXgoLR2V0RmVhdHVyZXMSJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1JlcXVlc3QaJi5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1Jlc3BvbnNlIgASYQoMTGlzdEZlYXR1cmVzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIgASdgoTTGlzdEVuYWJsZWRGZWF0dXJlcxItLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RFbmFibGVkRmVhdHVyZXNSZXF1ZXN0Gi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlIgASZAoNQ3JlYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlIgASZAoNVXBkYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIgASZwoNRW5hYmxlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESagoORGlzYWJsZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESZwoOQXJjaGl2ZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASbQoQVW5hcmNoaXZlRmVhdHVyZRIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASZAoNRGVsZXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlc3BvbnNlIgASeQoUVXBkYXRlRmVhdHVyZURldGFpbHMSLi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QaLy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIgASggEKF1VwZGF0ZUZlYXR1cmVWYXJpYXRpb25zEjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0GjIuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSIAEn8KFlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmcSMC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXNwb25zZSIAEmEKDENsb25lRmVhdHVyZRImLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVSZXNwb25zZSIAEqYECg1DcmVhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZDcmVhdGUaEUNyZWF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQIgsvdjEvc2VnbWVudDoBKhKRBAoKR2V0U2VnbWVudBIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlc3BvbnNlIrUDkkGeAwoHc2VnbWVudBIDR2V0Gg5HZXQgYSBzZWdtZW50LioSd2ViLnYxLnNlZ21lbnQuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDRILL3YxL3NlZ21lbnQSmgQKDExpc3RTZWdtZW50cxImLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXNwb25zZSK4A5JBoAMKB3NlZ21lbnQSBExpc3QaDkxpc3Qgc2VnbWVudHMuKhN3ZWIudjEuc2VnbWVudC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDhIML3YxL3NlZ21lbnRzEqMECg1EZWxldGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVzcG9uc2UivgOSQacDCgdzZWdtZW50EgZEZWxldGUaEURlbGV0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINKgsvdjEvc2VnbWVudBKmBAoNVXBkYXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlc3BvbnNlIsEDkkGnAwoHc2VnbWVudBIGVXBkYXRlGhFVcGRhdGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEDILL3YxL3NlZ21lbnQ6ASoSagoOQWRkU2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgEScwoRRGVsZXRlU2VnbWVudFVzZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESagoOR2V0U2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESbQoQTGlzdFNlZ21lbnRVc2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50VXNlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIgAS7AQKFkJ1bGtVcGxvYWRTZWdtZW50VXNlcnMSMC5idWNrZXRlZXIuZmVhdHVyZS5CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSLsA5JBwAMKB3NlZ21lbnQSC0J1bGsgdXBsb2FkGhpCdWxrIHVwbG9hZCBzZWdtZW50IHVzZXJzLiogd2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa191cGxvYWRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiIh0vdjEvc2VnbWVudF91c2Vycy9idWxrX3VwbG9hZDoBKhL3BAoYQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzEjIuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVxdWVzdBozLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIvEDkkHGAwoHc2VnbWVudBINQnVsayBkb3dubG9hZBocQnVsayBkb3dubG9hZCBzZWdtZW50IHVzZXJzLioid2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa19kb3dubG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9zZWdtZW50X3VzZXJzL2J1bGtfZG93bmxvYWQSbQoQRXZhbHVhdGVGZWF0dXJlcxIqLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRlRmVhdHVyZXNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlIgASVQoITGlzdFRhZ3MSIi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QaIy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1Jlc3BvbnNlIgAScAoRQ3JlYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRVXBkYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRW5hYmxlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScwoSRGlzYWJsZUZsYWdUcmlnZ2VyEiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQUmVzZXRGbGFnVHJpZ2dlchIqLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRGVsZXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASZwoOR2V0RmxhZ1RyaWdnZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQTGlzdEZsYWdUcmlnZ2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlIgASlAEKEkZsYWdUcmlnZ2VyV2ViaG9vaxIsLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QaLS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZSIhgtPkkwIbIhkvd2ViaG9vay90cmlnZ2Vycy97dG9rZW59QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKnAMKFXByb3RvL3B1c2gvcHVzaC5wcm90bxIOYnVja2V0ZWVyLnB1c2giugIKBFB1c2gSDgoCaWQYASABKAlSAmlkEhIKBHRhZ3MYAyADKAlSBHRhZ3MSGAoHZGVsZXRlZBgEIAEoCFIHZGVsZXRlZBISCgRuYW1lGAUgASgJUgRuYW1lEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSLgoTZmNtX3NlcnZpY2VfYWNjb3VudBgIIAEoCVIRZmNtU2VydmljZUFjY291bnQSGgoIZGlzYWJsZWQYCSABKAhSCGRpc2FibGVkEiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkEikKEGVudmlyb25tZW50X25hbWUYCyABKAlSD2Vudmlyb25tZW50TmFtZUoECAIQA0IuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vcHVzaGIGcHJvdG8zCuoCChhwcm90by9wdXNoL2NvbW1hbmQucHJvdG8SDmJ1Y2tldGVlci5wdXNoInEKEUNyZWF0ZVB1c2hDb21tYW5kEhIKBHRhZ3MYAiADKAlSBHRhZ3MSEgoEbmFtZRgDIAEoCVIEbmFtZRIuChNmY21fc2VydmljZV9hY2NvdW50GAQgASgMUhFmY21TZXJ2aWNlQWNjb3VudEoECAEQAiIoChJBZGRQdXNoVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyIrChVEZWxldGVQdXNoVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyITChFEZWxldGVQdXNoQ29tbWFuZCInChFSZW5hbWVQdXNoQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lQi5aLGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9wdXNoYgZwcm90bzMKySEKGHByb3RvL3B1c2gvc2VydmljZS5wcm90bxIOYnVja2V0ZWVyLnB1c2gaHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxoVcHJvdG8vcHVzaC9wdXNoLnByb3RvGhhwcm90by9wdXNoL2NvbW1hbmQucHJvdG8i2QEKEUNyZWF0ZVB1c2hSZXF1ZXN0Ej8KB2NvbW1hbmQYAiABKAsyIS5idWNrZXRlZXIucHVzaC5DcmVhdGVQdXNoQ29tbWFuZEICGAFSB2NvbW1hbmQSEgoEdGFncxgDIAMoCVIEdGFncxISCgRuYW1lGAQgASgJUgRuYW1lEi4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYBSABKAxSEWZjbVNlcnZpY2VBY2NvdW50EiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkSgQIARACIj4KEkNyZWF0ZVB1c2hSZXNwb25zZRIoCgRwdXNoGAEgASgLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIEcHVzaCKhBAoRTGlzdFB1c2hlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAIgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAyABKAlSBmN1cnNvchJECghvcmRlcl9ieRgEIAEoDjIpLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWQoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjAuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEiUKDmVudmlyb25tZW50X2lkGAcgASgJUg1lbnZpcm9ubWVudElkEicKD29yZ2FuaXphdGlvbl9pZBgIIAEoCVIOb3JnYW5pemF0aW9uSWQSNgoIZGlzYWJsZWQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZCJcCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIPCgtFTlZJUk9OTUVOVBAEEgkKBVNUQVRFEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIARACInsKEkxpc3RQdXNoZXNSZXNwb25zZRIsCgZwdXNoZXMYASADKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgZwdXNoZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQijQEKEURlbGV0ZVB1c2hSZXF1ZXN0Eg4KAmlkGAIgASgJUgJpZBI7Cgdjb21tYW5kGAMgASgLMiEuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaENvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiFAoSRGVsZXRlUHVzaFJlc3BvbnNlIu4DChFVcGRhdGVQdXNoUmVxdWVzdBITCgJpZBgCIAEoCUID4EECUgJpZBJZChVhZGRfcHVzaF90YWdzX2NvbW1hbmQYAyABKAsyIi5idWNrZXRlZXIucHVzaC5BZGRQdXNoVGFnc0NvbW1hbmRCAhgBUhJhZGRQdXNoVGFnc0NvbW1hbmQSYgoYZGVsZXRlX3B1c2hfdGFnc19jb21tYW5kGAQgASgLMiUuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaFRhZ3NDb21tYW5kQgIYAVIVZGVsZXRlUHVzaFRhZ3NDb21tYW5kElUKE3JlbmFtZV9wdXNoX2NvbW1hbmQYBSABKAsyIS5idWNrZXRlZXIucHVzaC5SZW5hbWVQdXNoQ29tbWFuZEICGAFSEXJlbmFtZVB1c2hDb21tYW5kEhIKBHRhZ3MYBiADKAlSBHRhZ3MSMAoEbmFtZRgHIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRIqCg5lbnZpcm9ubWVudF9pZBgIIAEoCUID4EECUg1lbnZpcm9ubWVudElkEjYKCGRpc2FibGVkGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWRKBAgBEAIiPgoSVXBkYXRlUHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIlEKDkdldFB1c2hSZXF1ZXN0EioKDmVudmlyb25tZW50X2lkGAEgASgJQgPgQQJSDWVudmlyb25tZW50SWQSEwoCaWQYAiABKAlCA+BBAlICaWQiOwoPR2V0UHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoMoARCgtQdXNoU2VydmljZRKEBAoKTGlzdFB1c2hlcxIhLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0GiIuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1Jlc3BvbnNlIq4DkkGYAwoEcHVzaBIETGlzdBoMTGlzdCBwdXNoZXMuKhB3ZWIudjEucHVzaC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDBIKL3YxL3B1c2hlcxKLBAoKQ3JlYXRlUHVzaBIhLmJ1Y2tldGVlci5wdXNoLkNyZWF0ZVB1c2hSZXF1ZXN0GiIuYnVja2V0ZWVyLnB1c2guQ3JlYXRlUHVzaFJlc3BvbnNlIrUDkkGeAwoEcHVzaBIGQ3JlYXRlGg5DcmVhdGUgYSBwdXNoLioSd2ViLnYxLnB1c2guY3JlYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDSIIL3YxL3B1c2g6ASoSiwQKClVwZGF0ZVB1c2gSIS5idWNrZXRlZXIucHVzaC5VcGRhdGVQdXNoUmVxdWVzdBoiLmJ1Y2tldGVlci5wdXNoLlVwZGF0ZVB1c2hSZXNwb25zZSK1A5JBngMKBHB1c2gSBlVwZGF0ZRoOVXBkYXRlIGEgcHVzaC4qEndlYi52MS5wdXNoLnVwZGF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAg0yCC92MS9wdXNoOgEqEvYDCgdHZXRQdXNoEh4uYnVja2V0ZWVyLnB1c2guR2V0UHVzaFJlcXVlc3QaHy5idWNrZXRlZXIucHVzaC5HZXRQdXNoUmVzcG9uc2UiqQOSQZUDCgRwdXNoEgNHZXQaC0dldCBhIHB1c2guKg93ZWIudjEucHVzaC5nZXRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvcHVzaBJVCgpEZWxldGVQdXNoEiEuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaFJlcXVlc3QaIi5idWNrZXRlZXIucHVzaC5EZWxldGVQdXNoUmVzcG9uc2UiAEIuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vcHVzaGIGcHJvdG8zCucDCiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IukCCg1FbnZpcm9ubWVudFYyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIdCgpwcm9qZWN0X2lkGAUgASgJUglwcm9qZWN0SWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEh0KCmNyZWF0ZWRfYXQYByABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAggASgDUgl1cGRhdGVkQXQSJwoPb3JnYW5pemF0aW9uX2lkGAkgASgJUg5vcmdhbml6YXRpb25JZBInCg9yZXF1aXJlX2NvbW1lbnQYCiABKAhSDnJlcXVpcmVDb21tZW50EiwKEmZlYXR1cmVfZmxhZ19jb3VudBgLIAEoBVIQZmVhdHVyZUZsYWdDb3VudEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwr9AwofcHJvdG8vZW52aXJvbm1lbnQvcHJvamVjdC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IoMDCgdQcm9qZWN0Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlEicKD29yZ2FuaXphdGlvbl9pZBgKIAEoCVIOb3JnYW5pemF0aW9uSWQSKwoRZW52aXJvbm1lbnRfY291bnQYCyABKAVSEGVudmlyb25tZW50Q291bnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAwgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCq8ECiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudCKwAwoMT3JnYW5pemF0aW9uEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiEKDHN5c3RlbV9hZG1pbhgKIAEoCFILc3lzdGVtQWRtaW4SIwoNcHJvamVjdF9jb3VudBgLIAEoBVIMcHJvamVjdENvdW50EisKEWVudmlyb25tZW50X2NvdW50GAwgASgFUhBlbnZpcm9ubWVudENvdW50Eh0KCnVzZXJfY291bnQYDSABKAVSCXVzZXJDb3VudBIfCgtvd25lcl9lbWFpbBgOIAEoCVIKb3duZXJFbWFpbEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwqQAwohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudCLpAQoMU2VhcmNoRmlsdGVyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhQKBXF1ZXJ5GAMgASgJUgVxdWVyeRJRChJmaWx0ZXJfdGFyZ2V0X3R5cGUYBCABKA4yIy5idWNrZXRlZXIuYWNjb3VudC5GaWx0ZXJUYXJnZXRUeXBlUhBmaWx0ZXJUYXJnZXRUeXBlEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkEiUKDmRlZmF1bHRfZmlsdGVyGAYgASgIUg1kZWZhdWx0RmlsdGVyKjEKEEZpbHRlclRhcmdldFR5cGUSCwoHVU5LTk9XThAAEhAKDEZFQVRVUkVfRkxBRxABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK1BMKG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvGh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvGiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKrAgoHQWNjb3VudBIOCgJpZBgBIAEoCVICaWQSFAoFZW1haWwYAiABKAlSBWVtYWlsEhIKBG5hbWUYAyABKAlSBG5hbWUSMwoEcm9sZRgEIAEoDjIfLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnQuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAggASgIUgdkZWxldGVkIjkKBFJvbGUSCgoGVklFV0VSEAASCgoGRURJVE9SEAESCQoFT1dORVIQAhIOCgpVTkFTU0lHTkVEEGM6AhgBIrwICglBY2NvdW50VjISFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSRgoOc2VhcmNoX2ZpbHRlcnMYCiADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgLIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgMIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDSABKAlSCGxhbmd1YWdlEhsKCWxhc3Rfc2VlbhgOIAEoA1IIbGFzdFNlZW4SKAoQYXZhdGFyX2ZpbGVfdHlwZRgPIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGBAgASgMUgthdmF0YXJJbWFnZRIrChFlbnZpcm9ubWVudF9jb3VudBgRIAEoBVIQZW52aXJvbm1lbnRDb3VudBISCgR0YWdzGBIgAygJUgR0YWdzGtcBCgRSb2xlIlkKC0Vudmlyb25tZW50EhoKFkVudmlyb25tZW50X1VOQVNTSUdORUQQABIWChJFbnZpcm9ubWVudF9WSUVXRVIQARIWChJFbnZpcm9ubWVudF9FRElUT1IQAiJ0CgxPcmdhbml6YXRpb24SGwoXT3JnYW5pemF0aW9uX1VOQVNTSUdORUQQABIXChNPcmdhbml6YXRpb25fTUVNQkVSEAESFgoST3JnYW5pemF0aW9uX0FETUlOEAISFgoST3JnYW5pemF0aW9uX09XTkVSEAMaewoPRW52aXJvbm1lbnRSb2xlEiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEkEKBHJvbGUYAiABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZSLqBgoOQ29uc29sZUFjY291bnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKYXZhdGFyX3VybBgDIAEoCVIJYXZhdGFyVXJsEiYKD2lzX3N5c3RlbV9hZG1pbhgEIAEoCFINaXNTeXN0ZW1BZG1pbhJHCgxvcmdhbml6YXRpb24YBSABKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUgxvcmdhbml6YXRpb24SWwoRb3JnYW5pemF0aW9uX3JvbGUYBiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSXgoRZW52aXJvbm1lbnRfcm9sZXMYByADKAsyMS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudC5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSRgoOc2VhcmNoX2ZpbHRlcnMYCCADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgJIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgKIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCyABKAlSCGxhbmd1YWdlEigKEGF2YXRhcl9maWxlX3R5cGUYDCABKAlSDmF2YXRhckZpbGVUeXBlEiEKDGF2YXRhcl9pbWFnZRgNIAEoDFILYXZhdGFySW1hZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhrWAQoPRW52aXJvbm1lbnRSb2xlEkYKC2Vudmlyb25tZW50GAEgASgLMiQuYnVja2V0ZWVyLmVudmlyb25tZW50LkVudmlyb25tZW50VjJSC2Vudmlyb25tZW50EjgKB3Byb2plY3QYAiABKAsyHi5idWNrZXRlZXIuZW52aXJvbm1lbnQuUHJvamVjdFIHcHJvamVjdBJBCgRyb2xlGAMgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuRW52aXJvbm1lbnRSBHJvbGVCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrmBgobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8iuwMKBkFQSUtleRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyCgRyb2xlGAMgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHgoKbWFpbnRhaW5lchgHIAEoCVIKbWFpbnRhaW5lchIXCgdhcGlfa2V5GAggASgJUgZhcGlLZXkSIAoLZGVzY3JpcHRpb24YCSABKAlSC2Rlc2NyaXB0aW9uEikKEGVudmlyb25tZW50X25hbWUYCiABKAlSD2Vudmlyb25tZW50TmFtZSJ5CgRSb2xlEgsKB1VOS05PV04QABIOCgpTREtfQ0xJRU5UEAESDgoKU0RLX1NFUlZFUhACEhgKFFBVQkxJQ19BUElfUkVBRF9PTkxZEAMSFAoQUFVCTElDX0FQSV9XUklURRAEEhQKEFBVQkxJQ19BUElfQURNSU4QBSKVAgoRRW52aXJvbm1lbnRBUElLZXkSMgoHYXBpX2tleRgCIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5EjEKFGVudmlyb25tZW50X2Rpc2FibGVkGAMgASgIUhNlbnZpcm9ubWVudERpc2FibGVkEiEKCnByb2plY3RfaWQYBCABKAlCAhgBUglwcm9qZWN0SWQSRgoLZW52aXJvbm1lbnQYBSABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSKAoQcHJvamVjdF91cmxfY29kZRgGIAEoCVIOcHJvamVjdFVybENvZGVKBAgBEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwqcEgobcHJvdG8vYWNjb3VudC9jb21tYW5kLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvGhtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKQAwoWQ3JlYXRlQWNjb3VudFYyQ29tbWFuZBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBJbChFvcmdhbml6YXRpb25fcm9sZRgEIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgFIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgGIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgHIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCCABKAlSCGxhbmd1YWdlEhIKBHRhZ3MYCSADKAlSBHRhZ3MiMAoaQ2hhbmdlQWNjb3VudFYyTmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJACh9DaGFuZ2VBY2NvdW50VjJGaXJzdE5hbWVDb21tYW5kEh0KCmZpcnN0X25hbWUYASABKAlSCWZpcnN0TmFtZSI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0TmFtZUNvbW1hbmQSGwoJbGFzdF9uYW1lGAEgASgJUghsYXN0TmFtZSI8Ch5DaGFuZ2VBY2NvdW50VjJMYW5ndWFnZUNvbW1hbmQSGgoIbGFuZ3VhZ2UYASABKAlSCGxhbmd1YWdlIlAKJENoYW5nZUFjY291bnRWMkF2YXRhckltYWdlVXJsQ29tbWFuZBIoChBhdmF0YXJfaW1hZ2VfdXJsGAEgASgJUg5hdmF0YXJJbWFnZVVybCJrChxDaGFuZ2VBY2NvdW50VjJBdmF0YXJDb21tYW5kEiEKDGF2YXRhcl9pbWFnZRgBIAEoDFILYXZhdGFySW1hZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgCIAEoCVIOYXZhdGFyRmlsZVR5cGUiMAoaQ2hhbmdlQWNjb3VudFYyVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0U2VlbkNvbW1hbmQSGwoJbGFzdF9zZWVuGAEgASgDUghsYXN0U2VlbiJsCiZDaGFuZ2VBY2NvdW50VjJPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBJCCgRyb2xlGAEgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUgRyb2xlIqUCCiZDaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZBJCCgVyb2xlcxgBIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSBXJvbGVzEmIKCndyaXRlX3R5cGUYAiABKA4yQy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZC5Xcml0ZVR5cGVSCXdyaXRlVHlwZSJTCglXcml0ZVR5cGUSGQoVV3JpdGVUeXBlX1VOU1BFQ0lGSUVEEAASFgoSV3JpdGVUeXBlX09WRVJSSURFEAESEwoPV3JpdGVUeXBlX1BBVENIEAIiGAoWRW5hYmxlQWNjb3VudFYyQ29tbWFuZCIZChdEaXNhYmxlQWNjb3VudFYyQ29tbWFuZCIYChZEZWxldGVBY2NvdW50VjJDb21tYW5kIl0KE0NyZWF0ZUFQSUtleUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIyCgRyb2xlGAIgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUiLQoXQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSIVChNFbmFibGVBUElLZXlDb21tYW5kIhYKFERpc2FibGVBUElLZXlDb21tYW5kIuYBChlDcmVhdGVTZWFyY2hGaWx0ZXJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFcXVlcnkYAiABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgDIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBSABKAhSDWRlZmF1bHRGaWx0ZXIiQwodQ2hhbmdlU2VhcmNoRmlsdGVyTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiRgoeQ2hhbmdlU2VhcmNoRmlsdGVyUXVlcnlDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgVxdWVyeRgCIAEoCVIFcXVlcnkiWQogQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkEiUKDmRlZmF1bHRfZmlsdGVyGAIgASgIUg1kZWZhdWx0RmlsdGVyIisKGURlbGV0ZVNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK1r8BChtwcm90by9hY2NvdW50L3NlcnZpY2UucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50Gh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8aG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvGhtwcm90by9hY2NvdW50L2NvbW1hbmQucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90byI3CgxHZXRNZVJlcXVlc3QSJwoPb3JnYW5pemF0aW9uX2lkGAEgASgJUg5vcmdhbml6YXRpb25JZCJMCg1HZXRNZVJlc3BvbnNlEjsKB2FjY291bnQYASABKAsyIS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudFIHYWNjb3VudCIbChlHZXRNeU9yZ2FuaXphdGlvbnNSZXF1ZXN0IjgKIEdldE15T3JnYW5pemF0aW9uc0J5RW1haWxSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbCJnChpHZXRNeU9yZ2FuaXphdGlvbnNSZXNwb25zZRJJCg1vcmdhbml6YXRpb25zGAEgAygLMiMuYnVja2V0ZWVyLmVudmlyb25tZW50Lk9yZ2FuaXphdGlvblINb3JnYW5pemF0aW9ucyKCBAoWQ3JlYXRlQWNjb3VudFYyUmVxdWVzdBInCg9vcmdhbml6YXRpb25faWQYASABKAlSDm9yZ2FuaXphdGlvbklkEkcKB2NvbW1hbmQYAiABKAsyKS5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZBIUCgVlbWFpbBgDIAEoCVIFZW1haWwSEgoEbmFtZRgEIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAUgASgJUg5hdmF0YXJJbWFnZVVybBJbChFvcmdhbml6YXRpb25fcm9sZRgGIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgHIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgIIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgJIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCiABKAlSCGxhbmd1YWdlEhIKBHRhZ3MYCyADKAlSBHRhZ3MiUQoXQ3JlYXRlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKgAQoWRW5hYmxlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAMgASgLMikuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiUQoXRW5hYmxlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKiAQoXRGlzYWJsZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSSAoHY29tbWFuZBgDIAEoCzIqLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZCJSChhEaXNhYmxlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKgAQoWRGVsZXRlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAMgASgLMikuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiGQoXRGVsZXRlQWNjb3VudFYyUmVzcG9uc2Ui3RAKFlVwZGF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSYQoTY2hhbmdlX25hbWVfY29tbWFuZBgDIAEoCzItLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMk5hbWVDb21tYW5kQgIYAVIRY2hhbmdlTmFtZUNvbW1hbmQSdgoZY2hhbmdlX2F2YXRhcl91cmxfY29tbWFuZBgEIAEoCzI3LmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkF2YXRhckltYWdlVXJsQ29tbWFuZEICGAFSFmNoYW5nZUF2YXRhclVybENvbW1hbmQShgEKIGNoYW5nZV9vcmdhbml6YXRpb25fcm9sZV9jb21tYW5kGAUgASgLMjkuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyT3JnYW5pemF0aW9uUm9sZUNvbW1hbmRCAhgBUh1jaGFuZ2VPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBKGAQogY2hhbmdlX2Vudmlyb25tZW50X3JvbGVzX2NvbW1hbmQYBiABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZEICGAFSHWNoYW5nZUVudmlyb25tZW50Um9sZXNDb21tYW5kEnEKGWNoYW5nZV9maXJzdF9uYW1lX2NvbW1hbmQYByABKAsyMi5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJGaXJzdE5hbWVDb21tYW5kQgIYAVIWY2hhbmdlRmlyc3ROYW1lQ29tbWFuZBJuChhjaGFuZ2VfbGFzdF9uYW1lX2NvbW1hbmQYCCABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJMYXN0TmFtZUNvbW1hbmRCAhgBUhVjaGFuZ2VMYXN0TmFtZUNvbW1hbmQSbQoXY2hhbmdlX2xhbmd1YWdlX2NvbW1hbmQYCSABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJMYW5ndWFnZUNvbW1hbmRCAhgBUhVjaGFuZ2VMYW5ndWFnZUNvbW1hbmQSbgoYY2hhbmdlX2xhc3Rfc2Vlbl9jb21tYW5kGAogASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTGFzdFNlZW5Db21tYW5kQgIYAVIVY2hhbmdlTGFzdFNlZW5Db21tYW5kEmcKFWNoYW5nZV9hdmF0YXJfY29tbWFuZBgLIAEoCzIvLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkF2YXRhckNvbW1hbmRCAhgBUhNjaGFuZ2VBdmF0YXJDb21tYW5kEjAKBG5hbWUYDCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSRgoQYXZhdGFyX2ltYWdlX3VybBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIOYXZhdGFySW1hZ2VVcmwSbAoRb3JnYW5pemF0aW9uX3JvbGUYDiABKAsyPy5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0Lk9yZ2FuaXphdGlvblJvbGVWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgPIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSOwoKZmlyc3RfbmFtZRgQIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIJZmlyc3ROYW1lEjkKCWxhc3RfbmFtZRgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFzdE5hbWUSOAoIbGFuZ3VhZ2UYEiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCGxhbmd1YWdlEjgKCWxhc3Rfc2VlbhgTIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUghsYXN0U2VlbhJRCgZhdmF0YXIYFCABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0LkFjY291bnRWMkF2YXRhclIGYXZhdGFyEjYKCGRpc2FibGVkGBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSEgoEdGFncxgWIAMoCVIEdGFncxJhChNjaGFuZ2VfdGFnc19jb21tYW5kGBcgASgLMi0uYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyVGFnc0NvbW1hbmRCAhgBUhFjaGFuZ2VUYWdzQ29tbWFuZBpeCg9BY2NvdW50VjJBdmF0YXISIQoMYXZhdGFyX2ltYWdlGAEgASgMUgthdmF0YXJJbWFnZRIoChBhdmF0YXJfZmlsZV90eXBlGAIgASgJUg5hdmF0YXJGaWxlVHlwZRpbChVPcmdhbml6YXRpb25Sb2xlVmFsdWUSQgoEcm9sZRgBIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIEcm9sZSJRChdVcGRhdGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IlQKE0dldEFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQiTgoUR2V0QWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCJhCiJHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIlCg5lbnZpcm9ubWVudF9pZBgCIAEoCVINZW52aXJvbm1lbnRJZCJdCiNHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IqkGChVMaXN0QWNjb3VudHNWMlJlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchInCg9vcmdhbml6YXRpb25faWQYAyABKAlSDm9yZ2FuaXphdGlvbklkEksKCG9yZGVyX2J5GAQgASgOMjAuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYAoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjcuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBI2CghkaXNhYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkEkgKEW9yZ2FuaXphdGlvbl9yb2xlGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSEG9yZ2FuaXphdGlvblJvbGUSQwoOZW52aXJvbm1lbnRfaWQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDWVudmlyb25tZW50SWQSRgoQZW52aXJvbm1lbnRfcm9sZRgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUg9lbnZpcm9ubWVudFJvbGUSEgoEdGFncxgLIAMoCVIEdGFncyKTAQoHT3JkZXJCeRILCgdERUZBVUxUEAASCQoFRU1BSUwQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEhUKEU9SR0FOSVpBVElPTl9ST0xFEAQSFQoRRU5WSVJPTk1FTlRfQ09VTlQQBRINCglMQVNUX1NFRU4QBhIJCgVTVEFURRAHEggKBFRBR1MQCCIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAEiiwEKFkxpc3RBY2NvdW50c1YyUmVzcG9uc2USOAoIYWNjb3VudHMYASADKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSCGFjY291bnRzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IpICChNDcmVhdGVBUElLZXlSZXF1ZXN0EkQKB2NvbW1hbmQYASABKAsyJi5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBUElLZXlDb21tYW5kQgIYAVIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZBISCgRuYW1lGAQgASgJUgRuYW1lEjIKBHJvbGUYBSABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIeCgptYWludGFpbmVyGAYgASgJUgptYWludGFpbmVyEiAKC2Rlc2NyaXB0aW9uGAcgASgJUgtkZXNjcmlwdGlvbkoECAIQAyJKChRDcmVhdGVBUElLZXlSZXNwb25zZRIyCgdhcGlfa2V5GAEgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXkinAEKF0NoYW5nZUFQSUtleU5hbWVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJECgdjb21tYW5kGAIgASgLMiouYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYQ2hhbmdlQVBJS2V5TmFtZVJlc3BvbnNlIpQBChNFbmFibGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQVBJS2V5Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRFbmFibGVBUElLZXlSZXNwb25zZSKWAQoURGlzYWJsZUFQSUtleVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkEKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVEaXNhYmxlQVBJS2V5UmVzcG9uc2UiTwoQR2V0QVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiRwoRR2V0QVBJS2V5UmVzcG9uc2USMgoHYXBpX2tleRgBIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5IuYEChJMaXN0QVBJS2V5c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJICghvcmRlcl9ieRgEIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El0KD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI0LmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSNgoIZGlzYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBIpCg5lbnZpcm9ubWVudF9pZBgIIAEoCUICGAFSDWVudmlyb25tZW50SWQSJwoPZW52aXJvbm1lbnRfaWRzGAkgAygJUg5lbnZpcm9ubWVudElkcxIsCg9vcmdhbml6YXRpb25faWQYCiABKAlCA+BBAlIOb3JnYW5pemF0aW9uSWQiZgoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoEUk9MRRAEEg8KC0VOVklST05NRU5UEAUSCQoFU1RBVEUQBiIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgDEAQihAEKE0xpc3RBUElLZXlzUmVzcG9uc2USNAoIYXBpX2tleXMYASADKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSB2FwaUtleXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiNgobR2V0RW52aXJvbm1lbnRBUElLZXlSZXF1ZXN0EhcKB2FwaV9rZXkYAiABKAlSBmFwaUtleSJ0ChxHZXRFbnZpcm9ubWVudEFQSUtleVJlc3BvbnNlElQKE2Vudmlyb25tZW50X2FwaV9rZXkYASABKAsyJC5idWNrZXRlZXIuYWNjb3VudC5FbnZpcm9ubWVudEFQSUtleVIRZW52aXJvbm1lbnRBcGlLZXkiyQEKGUNyZWF0ZVNlYXJjaEZpbHRlclJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSRgoHY29tbWFuZBgEIAEoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlckNvbW1hbmRSB2NvbW1hbmQiHAoaQ3JlYXRlU2VhcmNoRmlsdGVyUmVzcG9uc2UiwAMKGVVwZGF0ZVNlYXJjaEZpbHRlclJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSYAoTY2hhbmdlX25hbWVfY29tbWFuZBgEIAEoCzIwLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZVNlYXJjaEZpbHRlck5hbWVDb21tYW5kUhFjaGFuZ2VOYW1lQ29tbWFuZBJjChRjaGFuZ2VfcXVlcnlfY29tbWFuZBgFIAEoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZVNlYXJjaEZpbHRlclF1ZXJ5Q29tbWFuZFISY2hhbmdlUXVlcnlDb21tYW5kEnYKHWNoYW5nZV9kZWZhdWx0X2ZpbHRlcl9jb21tYW5kGAYgASgLMjMuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmRSGmNoYW5nZURlZmF1bHRGaWx0ZXJDb21tYW5kIhwKGlVwZGF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIskBChlEZWxldGVTZWFyY2hGaWx0ZXJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEkYKB2NvbW1hbmQYBCABKAsyLC5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVTZWFyY2hGaWx0ZXJDb21tYW5kUgdjb21tYW5kIhwKGkRlbGV0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIugCChNVcGRhdGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgCIAEoCVINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhIyCgRyb2xlGAUgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSNgoIZGlzYWJsZWQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBI8CgptYWludGFpbmVyGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgptYWludGFpbmVyIhYKFFVwZGF0ZUFQSUtleVJlc3BvbnNlMs56Cg5BY2NvdW50U2VydmljZRKeBAoFR2V0TWUSHy5idWNrZXRlZXIuYWNjb3VudC5HZXRNZVJlcXVlc3QaIC5idWNrZXRlZXIuYWNjb3VudC5HZXRNZVJlc3BvbnNlItEDkkGzAwoHQWNjb3VudBIGR2V0IE1lGh1HZXQgdGhlIHVzZXIgY29uc29sZSBhY2NvdW50LioVd2ViLnYxLmFjY291bnQuZ2V0X21lSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCFBISL3YxL2FjY291bnQvZ2V0X21lEvgEChJHZXRNeU9yZ2FuaXphdGlvbnMSLC5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNSZXF1ZXN0Gi0uYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zUmVzcG9uc2UihASSQdwDCgdBY2NvdW50EhRHZXQgTXkgT3JnYW5pemF0aW9ucxouR2V0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyBmb3IgYSBzcGVjaWZpYyB1c2VyLiofd2ViLnYxLmFjY291bnQubXlfb3JnYW5pemF0aW9uc0q0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh4SHC92MS9hY2NvdW50L215X29yZ2FuaXphdGlvbnMSlgUKGUdldE15T3JnYW5pemF0aW9uc0J5RW1haWwSMy5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNCeUVtYWlsUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkdldE15T3JnYW5pemF0aW9uc1Jlc3BvbnNlIpQEkkHjAwoHQWNjb3VudBIdR2V0IE15IE9yZ2FuaXphdGlvbnMgQnkgRW1haWwaI0dldCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgYnkgZW1haWwuKih3ZWIudjEuYWNjb3VudC5teV9vcmdhbml6YXRpb25zX2J5X2VtYWlsSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJxIlL3YxL2FjY291bnQvbXlfb3JnYW5pemF0aW9uc19ieV9lbWFpbBK6BgoPQ3JlYXRlQWNjb3VudFYyEikuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFjY291bnRWMlJlc3BvbnNlIs8FkkGmBQoHQWNjb3VudBIGQ3JlYXRlGlxDcmVhdGUgYW4gYWNjb3VudCB0byBoYXZlIGFjY2VzcyB0byB0aGUgY29uc29sZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuY3JlYXRlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvY3JlYXRlX2FjY291bnQ6ASoSzgMKD0VuYWJsZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBY2NvdW50VjJSZXNwb25zZSLjApJBugIKB0FjY291bnQSBkVuYWJsZRpcRW5hYmxlIGFuIGFjY291bnQgdG8gaGF2ZSBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmVuYWJsZV9hY2NvdW50SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZW5hYmxlX2FjY291bnQ6ASoSwgYKEERpc2FibGVBY2NvdW50VjISKi5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQWNjb3VudFYyUmVxdWVzdBorLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBY2NvdW50VjJSZXNwb25zZSLUBZJBqgUKB0FjY291bnQSB0Rpc2FibGUaXkRpc2FibGUgYW4gYWNjb3VudCB0byBibG9jayBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHndlYi52MS5hY2NvdW50LmRpc2FibGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIgIhsvdjEvYWNjb3VudC9kaXNhYmxlX2FjY291bnQ6ASoSnAYKD1VwZGF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXNwb25zZSKxBZJBiAUKB0FjY291bnQSBlVwZGF0ZRo+VXBkYXRlIGFuIGFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LnVwZGF0ZV9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L3VwZGF0ZV9hY2NvdW50OgEqEpwGCg9EZWxldGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyUmVzcG9uc2UisQWSQYgFCgdBY2NvdW50EgZEZWxldGUaPkRlbGV0ZSBhbiBhY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5kZWxldGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9kZWxldGVfYWNjb3VudDoBKhKsBAoMR2V0QWNjb3VudFYyEiYuYnVja2V0ZWVyLmFjY291bnQuR2V0QWNjb3VudFYyUmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMlJlc3BvbnNlIsoDkkGnAwoHQWNjb3VudBIDR2V0Gg9HZXQgYW4gYWNjb3VudC4qGndlYi52MS5hY2NvdW50LmdldF9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGRIXL3YxL2FjY291bnQvZ2V0X2FjY291bnQSnQUKG0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRBI1LmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QaNi5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZSKOBJJB3AMKB0FjY291bnQSGkdldCBBY2NvdW50IEJ5IEVudmlyb25tZW50Gh5HZXQgYW4gYWNjb3VudCBieSBlbnZpcm9ubWVudC4qKXdlYi52MS5hY2NvdW50LmdldF9hY2NvdW50X2J5X2Vudmlyb25tZW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKBImL3YxL2FjY291bnQvZ2V0X2FjY291bnRfYnlfZW52aXJvbm1lbnQStgQKDkxpc3RBY2NvdW50c1YyEiguYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0GikuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXNwb25zZSLOA5JBqQMKB0FjY291bnQSBExpc3QaDkxpc3QgYWNjb3VudHMuKhx3ZWIudjEuYWNjb3VudC5saXN0X2FjY291bnRzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGxIZL3YxL2FjY291bnQvbGlzdF9hY2NvdW50cxKwBgoMQ3JlYXRlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFQSUtleVJlc3BvbnNlIs4FkkGlBQoHQVBJIEtleRIGQ3JlYXRlGltDcmVhdGUgYW4gQVBJIGtleSB0byBiZSB1c2VkIG9uIHRoZSBjbGllbnQgU0RLLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5jcmVhdGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9jcmVhdGVfYXBpX2tleToBKhK8BgoQQ2hhbmdlQVBJS2V5TmFtZRIqLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFQSUtleU5hbWVSZXF1ZXN0GisuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQVBJS2V5TmFtZVJlc3BvbnNlIs4FkkGgBQoHQVBJIEtleRITQ2hhbmdlIEFQSSBLZXkgTmFtZRpEQ2hhbmdlIHRoZSBBUEkgS2V5IE5hbWUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qIndlYi52MS5hY2NvdW50LmNoYW5nZV9hcGlfa2V5X25hbWVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJCIfL3YxL2FjY291bnQvY2hhbmdlX2FwaV9rZXlfbmFtZToBKhKTBgoMRW5hYmxlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFQSUtleVJlc3BvbnNlIrEFkkGIBQoHQVBJIEtleRIGRW5hYmxlGj5FbmFibGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuZW5hYmxlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZW5hYmxlX2FwaV9rZXk6ASoSmgYKDURpc2FibGVBUElLZXkSJy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5UmVxdWVzdBooLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBUElLZXlSZXNwb25zZSK1BZJBiwUKB0FQSSBLZXkSB0Rpc2FibGUaP0Rpc2FibGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLioed2ViLnYxLmFjY291bnQuZGlzYWJsZV9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiAiGy92MS9hY2NvdW50L2Rpc2FibGVfYXBpX2tleToBKhKjBAoJR2V0QVBJS2V5EiMuYnVja2V0ZWVyLmFjY291bnQuR2V0QVBJS2V5UmVxdWVzdBokLmJ1Y2tldGVlci5hY2NvdW50LkdldEFQSUtleVJlc3BvbnNlIsoDkkGnAwoHQVBJIEtleRIDR2V0Gg9HZXQgYW4gQVBJIEtleS4qGndlYi52MS5hY2NvdW50LmdldF9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGRIXL3YxL2FjY291bnQvZ2V0X2FwaV9rZXkSrQQKC0xpc3RBUElLZXlzEiUuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXF1ZXN0GiYuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXNwb25zZSLOA5JBqQMKB0FQSSBLZXkSBExpc3QaDkxpc3QgQVBJIEtleXMuKhx3ZWIudjEuYWNjb3VudC5saXN0X2FwaV9rZXlzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGxIZL3YxL2FjY291bnQvbGlzdF9hcGlfa2V5cxL8BAoUR2V0RW52aXJvbm1lbnRBUElLZXkSLi5idWNrZXRlZXIuYWNjb3VudC5HZXRFbnZpcm9ubWVudEFQSUtleVJlcXVlc3QaLy5idWNrZXRlZXIuYWNjb3VudC5HZXRFbnZpcm9ubWVudEFQSUtleVJlc3BvbnNlIoIEkkHTAwoHQVBJIEtleRIXR2V0IEVudmlyb25tZW50IEFQSSBLZXkaG0dldCBhbiBlbnZpcm9ubWVudCBBUEkgS2V5Liomd2ViLnYxLmFjY291bnQuZ2V0X2Vudmlyb25tZW50X2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlEiMvdjEvYWNjb3VudC9nZXRfZW52aXJvbm1lbnRfYXBpX2tleRLFBgoSQ3JlYXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIUQ3JlYXRlIFNlYXJjaCBGaWx0ZXIaRENyZWF0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC5jcmVhdGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC9jcmVhdGVfc2VhcmNoX2ZpbHRlcjoBKhLFBgoSVXBkYXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIUVXBkYXRlIFNlYXJjaCBGaWx0ZXIaRFVwZGF0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC51cGRhdGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC91cGRhdGVfc2VhcmNoX2ZpbHRlcjoBKhLFBgoSRGVsZXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIURGVsZXRlIFNlYXJjaCBGaWx0ZXIaRERlbGV0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC5kZWxldGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC9kZWxldGVfc2VhcmNoX2ZpbHRlcjoBKhKbBgoMVXBkYXRlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFQSUtleVJlc3BvbnNlIrkFkkGQBQoHQVBJIEtleRIOVXBkYXRlIEFQSSBLZXkaPlVwZGF0ZSBhbiBBUEkgS2V5LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC51cGRhdGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfMhovdjEvYWNjb3VudC91cGRhdGVfYXBpX2tleToBKkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCvsBCh5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI6CghEdXJhdGlvbhIYCgdzZWNvbmRzGAEgASgDUgdzZWNvbmRzEhQKBW5hbm9zGAIgASgFUgVuYW5vc0KDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINRHVyYXRpb25Qcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9kdXJhdGlvbnBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKxjQKHnByb3RvL2V2ZW50L2NsaWVudC9ldmVudC5wcm90bxIWYnVja2V0ZWVyLmV2ZW50LmNsaWVudBoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGh5wcm90by9mZWF0dXJlL2V2YWx1YXRpb24ucHJvdG8aGnByb3RvL2ZlYXR1cmUvcmVhc29uLnByb3RvGhVwcm90by91c2VyL3VzZXIucHJvdG8icAoFRXZlbnQSDgoCaWQYASABKAlSAmlkEioKBWV2ZW50GAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFZXZlbnQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQikgQKD0V2YWx1YXRpb25FdmVudBIcCgl0aW1lc3RhbXAYASABKANSCXRpbWVzdGFtcBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhIXCgd1c2VyX2lkGAQgASgJUgZ1c2VySWQSIQoMdmFyaWF0aW9uX2lkGAUgASgJUgt2YXJpYXRpb25JZBIoCgR1c2VyGAYgASgLMhQuYnVja2V0ZWVyLnVzZXIuVXNlclIEdXNlchIxCgZyZWFzb24YByABKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5SZWFzb25SBnJlYXNvbhIQCgN0YWcYCCABKAlSA3RhZxI9Cglzb3VyY2VfaWQYCSABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgKIAEoCVIKc2RrVmVyc2lvbhJRCghtZXRhZGF0YRgLIAMoCzI1LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuRXZhbHVhdGlvbkV2ZW50Lk1ldGFkYXRhRW50cnlSCG1ldGFkYXRhGjsKDU1ldGFkYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLcAwoJR29hbEV2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEhcKB2dvYWxfaWQYAiABKAlSBmdvYWxJZBIXCgd1c2VyX2lkGAMgASgJUgZ1c2VySWQSFAoFdmFsdWUYBCABKAFSBXZhbHVlEigKBHVzZXIYBSABKAsyFC5idWNrZXRlZXIudXNlci5Vc2VyUgR1c2VyEkMKC2V2YWx1YXRpb25zGAYgAygLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvbkICGAFSC2V2YWx1YXRpb25zEhAKA3RhZxgHIAEoCVIDdGFnEj0KCXNvdXJjZV9pZBgIIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAkgASgJUgpzZGtWZXJzaW9uEksKCG1ldGFkYXRhGAogAygLMi8uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Hb2FsRXZlbnQuTWV0YWRhdGFFbnRyeVIIbWV0YWRhdGEaOwoNTWV0YWRhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIsUCCgxNZXRyaWNzRXZlbnQSHAoJdGltZXN0YW1wGAEgASgDUgl0aW1lc3RhbXASKgoFZXZlbnQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgVldmVudBI9Cglzb3VyY2VfaWQYAyABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgEIAEoCVIKc2RrVmVyc2lvbhJOCghtZXRhZGF0YRgFIAMoCzIyLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuTWV0cmljc0V2ZW50Lk1ldGFkYXRhRW50cnlSCG1ldGFkYXRhGjsKDU1ldGFkYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASL2AQogR2V0RXZhbHVhdGlvbkxhdGVuY3lNZXRyaWNzRXZlbnQSXAoGbGFiZWxzGAEgAygLMkQuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5HZXRFdmFsdWF0aW9uTGF0ZW5jeU1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzEjUKCGR1cmF0aW9uGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUghkdXJhdGlvbho5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBOgIYASLWAQodR2V0RXZhbHVhdGlvblNpemVNZXRyaWNzRXZlbnQSWQoGbGFiZWxzGAEgAygLMkEuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5HZXRFdmFsdWF0aW9uU2l6ZU1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzEhsKCXNpemVfYnl0ZRgCIAEoBVIIc2l6ZUJ5dGUaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AToCGAEiuQIKE0xhdGVuY3lNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSTwoGbGFiZWxzGAIgAygLMjcuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5MYXRlbmN5TWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMSOQoIZHVyYXRpb24YAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CAhgBUghkdXJhdGlvbhIlCg5sYXRlbmN5X3NlY29uZBgEIAEoAVINbGF0ZW5jeVNlY29uZBo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIu4BChBTaXplTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkEkwKBmxhYmVscxgCIAMoCzI0LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU2l6ZU1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzEhsKCXNpemVfYnl0ZRgDIAEoBVIIc2l6ZUJ5dGUaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASI1Ch1UaW1lb3V0RXJyb3JDb3VudE1ldHJpY3NFdmVudBIQCgN0YWcYASABKAlSA3RhZzoCGAEiNgoeSW50ZXJuYWxFcnJvckNvdW50TWV0cmljc0V2ZW50EhAKA3RhZxgBIAEoCVIDdGFnOgIYASLxAQogUmVkaXJlY3Rpb25SZXF1ZXN0RXhjZXB0aW9uRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSXAoGbGFiZWxzGAIgAygLMkQuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5SZWRpcmVjdGlvblJlcXVlc3RFeGNlcHRpb25FdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi5wEKG0JhZFJlcXVlc3RFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJXCgZsYWJlbHMYAiADKAsyPy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkJhZFJlcXVlc3RFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi6wEKHVVuYXV0aG9yaXplZEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElkKBmxhYmVscxgCIAMoCzJBLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuVW5hdXRob3JpemVkRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuUBChpGb3JiaWRkZW5FcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJWCgZsYWJlbHMYAiADKAsyPi5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkZvcmJpZGRlbkVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLjAQoZTm90Rm91bmRFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJVCgZsYWJlbHMYAiADKAsyPS5idWNrZXRlZXIuZXZlbnQuY2xpZW50Lk5vdEZvdW5kRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIusBCh1QYXlsb2FkVG9vTGFyZ2VFeGNlcHRpb25FdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJZCgZsYWJlbHMYAiADKAsyQS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlBheWxvYWRUb29MYXJnZUV4Y2VwdGlvbkV2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASL5AQokQ2xpZW50Q2xvc2VkUmVxdWVzdEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkEmAKBmxhYmVscxgCIAMoCzJILmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQ2xpZW50Q2xvc2VkUmVxdWVzdEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLvAQofSW50ZXJuYWxTZXJ2ZXJFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJbCgZsYWJlbHMYAiADKAsyQy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkludGVybmFsU2VydmVyRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIvcBCiNTZXJ2aWNlVW5hdmFpbGFibGVFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJfCgZsYWJlbHMYAiADKAsyRy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNlcnZpY2VVbmF2YWlsYWJsZUVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLhAQoYVGltZW91dEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElQKBmxhYmVscxgCIAMoCzI8LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuVGltZW91dEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLjAQoZSW50ZXJuYWxFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJVCgZsYWJlbHMYAiADKAsyPS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkludGVybmFsRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuEBChhOZXR3b3JrRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVAoGbGFiZWxzGAIgAygLMjwuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5OZXR3b3JrRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIukBChxJbnRlcm5hbFNka0Vycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElgKBmxhYmVscxgCIAMoCzJALmJ1Y2tldGVlci5ldmVudC5jbGllbnQuSW50ZXJuYWxTZGtFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi4QEKGFVua25vd25FcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJUCgZsYWJlbHMYAiADKAsyPC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlVua25vd25FcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEixQEKCE9wc0V2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBInCg9mZWF0dXJlX3ZlcnNpb24YAyABKAVSDmZlYXR1cmVWZXJzaW9uEiEKDHZhcmlhdGlvbl9pZBgEIAEoCVILdmFyaWF0aW9uSWQSFwoHZ29hbF9pZBgFIAEoCVIGZ29hbElkEhcKB3VzZXJfaWQYBiABKAlSBnVzZXJJZCJcCg1Vc2VyR29hbEV2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEhcKB2dvYWxfaWQYAiABKAlSBmdvYWxJZBIUCgV2YWx1ZRgDIAEoAVIFdmFsdWUqcAoIU291cmNlSWQSCwoHVU5LTk9XThAAEgsKB0FORFJPSUQQARIHCgNJT1MQAhILCgNXRUIQAxoCCAESDQoJR09fU0VSVkVSEAUSDwoLTk9ERV9TRVJWRVIQBhIOCgpKQVZBU0NSSVBUEAciBAgEEAQqmwEKBUFwaUlkEg8KC1VOS05PV05fQVBJEAASEgoOR0VUX0VWQUxVQVRJT04QARITCg9HRVRfRVZBTFVBVElPTlMQAhITCg9SRUdJU1RFUl9FVkVOVFMQAxIVChFHRVRfRkVBVFVSRV9GTEFHUxAEEhUKEUdFVF9TRUdNRU5UX1VTRVJTEAUSFQoRU0RLX0dFVF9WQVJJQVRJT04QZEI2WjRnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXZlbnQvY2xpZW50YgZwcm90bzMK/QYKInByb3RvL2NvZGVyZWYvY29kZV9yZWZlcmVuY2UucHJvdG8SEWJ1Y2tldGVlci5jb2RlcmVmIogGCg1Db2RlUmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSGwoJZmlsZV9wYXRoGAMgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgEIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBSABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgGIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZBIdCgpjcmVhdGVkX2F0GA4gASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgPIAEoA1IJdXBkYXRlZEF0Eh0KCnNvdXJjZV91cmwYECABKAlSCXNvdXJjZVVybBIdCgpicmFuY2hfdXJsGBEgASgJUglicmFuY2hVcmwSJQoOZmlsZV9leHRlbnNpb24YEiABKAlSDWZpbGVFeHRlbnNpb24iZAoOUmVwb3NpdG9yeVR5cGUSHwobUkVQT1NJVE9SWV9UWVBFX1VOU1BFQ0lGSUVEEAASCgoGR0lUSFVCEAESCgoGR0lUTEFCEAISDQoJQklUQlVDS0VUEAMSCgoGQ1VTVE9NEARCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2NvZGVyZWZiBnByb3RvMwqONAobcHJvdG8vY29kZXJlZi9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuY29kZXJlZhoicHJvdG8vY29kZXJlZi9jb2RlX3JlZmVyZW5jZS5wcm90bxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90byJaChdHZXRDb2RlUmVmZXJlbmNlUmVxdWVzdBITCgJpZBgBIAEoCUID4EECUgJpZBIqCg5lbnZpcm9ubWVudF9pZBgCIAEoCUID4EECUg1lbnZpcm9ubWVudElkImMKGEdldENvZGVSZWZlcmVuY2VSZXNwb25zZRJHCg5jb2RlX3JlZmVyZW5jZRgBIAEoCzIgLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2VSDWNvZGVSZWZlcmVuY2UitgUKGUxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QSKgoOZW52aXJvbm1lbnRfaWQYASABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIiCgpmZWF0dXJlX2lkGAIgASgJQgPgQQJSCWZlYXR1cmVJZBInCg9yZXBvc2l0b3J5X25hbWUYAyABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYBCABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYBSABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgGIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIWCgZjdXJzb3IYByABKAlSBmN1cnNvchIbCglwYWdlX3NpemUYCCABKANSCHBhZ2VTaXplEk8KCG9yZGVyX2J5GAkgASgOMjQuYnVja2V0ZWVyLmNvZGVyZWYuTGlzdENvZGVSZWZlcmVuY2VzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmQKD29yZGVyX2RpcmVjdGlvbhgKIAEoDjI7LmJ1Y2tldGVlci5jb2RlcmVmLkxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDmZpbGVfZXh0ZW5zaW9uGAsgASgJUg1maWxlRXh0ZW5zaW9uIjYKB09yZGVyQnkSCwoHREVGQVVMVBAAEg4KCkNSRUFURURfQVQQARIOCgpVUERBVEVEX0FUEAIiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABIqABChpMaXN0Q29kZVJlZmVyZW5jZXNSZXNwb25zZRJJCg9jb2RlX3JlZmVyZW5jZXMYASADKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg5jb2RlUmVmZXJlbmNlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCLVBAoaQ3JlYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QSIgoKZmVhdHVyZV9pZBgBIAEoCUID4EECUglmZWF0dXJlSWQSKgoOZW52aXJvbm1lbnRfaWQYAiABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIgCglmaWxlX3BhdGgYAyABKAlCA+BBAlIIZmlsZVBhdGgSJAoLbGluZV9udW1iZXIYBCABKAVCA+BBAlIKbGluZU51bWJlchImCgxjb2RlX3NuaXBwZXQYBSABKAlCA+BBAlILY29kZVNuaXBwZXQSJgoMY29udGVudF9oYXNoGAYgASgJQgPgQQJSC2NvbnRlbnRIYXNoEhgKB2FsaWFzZXMYByADKAlSB2FsaWFzZXMSLAoPcmVwb3NpdG9yeV9uYW1lGAggASgJQgPgQQJSDnJlcG9zaXRvcnlOYW1lEi4KEHJlcG9zaXRvcnlfb3duZXIYCSABKAlCA+BBAlIPcmVwb3NpdG9yeU93bmVyEl0KD3JlcG9zaXRvcnlfdHlwZRgKIAEoDjIvLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2UuUmVwb3NpdG9yeVR5cGVCA+BBAlIOcmVwb3NpdG9yeVR5cGUSKwoRcmVwb3NpdG9yeV9icmFuY2gYCyABKAlSEHJlcG9zaXRvcnlCcmFuY2gSHwoLY29tbWl0X2hhc2gYDCABKAlSCmNvbW1pdEhhc2gSKgoOZmlsZV9leHRlbnNpb24YDSABKAlCA+BBAlINZmlsZUV4dGVuc2lvbiJmChtDcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIrIEChpVcGRhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBITCgJpZBgBIAEoCUID4EECUgJpZBIqCg5lbnZpcm9ubWVudF9pZBgCIAEoCUID4EECUg1lbnZpcm9ubWVudElkEiAKCWZpbGVfcGF0aBgDIAEoCUID4EECUghmaWxlUGF0aBIkCgtsaW5lX251bWJlchgEIAEoBUID4EECUgpsaW5lTnVtYmVyEiYKDGNvZGVfc25pcHBldBgFIAEoCUID4EECUgtjb2RlU25pcHBldBImCgxjb250ZW50X2hhc2gYBiABKAlCA+BBAlILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5maWxlX2V4dGVuc2lvbhgNIAEoCVINZmlsZUV4dGVuc2lvbiJmChtVcGRhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIl0KGkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAIgASgJQgPgQQJSDWVudmlyb25tZW50SWQiHQobRGVsZXRlQ29kZVJlZmVyZW5jZVJlc3BvbnNlMpUeChRDb2RlUmVmZXJlbmNlU2VydmljZRL3BQoQR2V0Q29kZVJlZmVyZW5jZRIqLmJ1Y2tldGVlci5jb2RlcmVmLkdldENvZGVSZWZlcmVuY2VSZXF1ZXN0GisuYnVja2V0ZWVyLmNvZGVyZWYuR2V0Q29kZVJlZmVyZW5jZVJlc3BvbnNlIokFkkHlBAoOQ29kZSBSZWZlcmVuY2USA0dldBobR2V0IGEgY29kZSByZWZlcmVuY2UgYnkgSUQuKhl3ZWIudjEuY29kZV9yZWZlcmVuY2UuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhoSGC92MS9jb2RlX3JlZmVyZW5jZXMve2lkfRLgBAoSTGlzdENvZGVSZWZlcmVuY2VzEiwuYnVja2V0ZWVyLmNvZGVyZWYuTGlzdENvZGVSZWZlcmVuY2VzUmVxdWVzdBotLmJ1Y2tldGVlci5jb2RlcmVmLkxpc3RDb2RlUmVmZXJlbmNlc1Jlc3BvbnNlIuwDkkHNAwoOQ29kZSBSZWZlcmVuY2USBExpc3QaLUxpc3QgY29kZSByZWZlcmVuY2VzIHdpdGggb3B0aW9uYWwgZmlsdGVyaW5nLioad2ViLnYxLmNvZGVfcmVmZXJlbmNlLmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIVEhMvdjEvY29kZV9yZWZlcmVuY2VzErAGChNDcmVhdGVDb2RlUmVmZXJlbmNlEi0uYnVja2V0ZWVyLmNvZGVyZWYuQ3JlYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QaLi5idWNrZXRlZXIuY29kZXJlZi5DcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UiuQWSQZcFCg5Db2RlIFJlZmVyZW5jZRIGQ3JlYXRlGkdDcmVhdGUgYSBuZXcgY29kZSByZWZlcmVuY2UuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCByb2xlLiocd2ViLnYxLmNvZGVfcmVmZXJlbmNlLmNyZWF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIYIhMvdjEvY29kZV9yZWZlcmVuY2VzOgEqErsGChNVcGRhdGVDb2RlUmVmZXJlbmNlEi0uYnVja2V0ZWVyLmNvZGVyZWYuVXBkYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QaLi5idWNrZXRlZXIuY29kZXJlZi5VcGRhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UixAWSQZ0FCg5Db2RlIFJlZmVyZW5jZRIGVXBkYXRlGk1VcGRhdGUgYW4gZXhpc3RpbmcgY29kZSByZWZlcmVuY2UuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCByb2xlLiocd2ViLnYxLmNvZGVfcmVmZXJlbmNlLnVwZGF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIdMhgvdjEvY29kZV9yZWZlcmVuY2VzL3tpZH06ASoSrgYKE0RlbGV0ZUNvZGVSZWZlcmVuY2USLS5idWNrZXRlZXIuY29kZXJlZi5EZWxldGVDb2RlUmVmZXJlbmNlUmVxdWVzdBouLmJ1Y2tldGVlci5jb2RlcmVmLkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXNwb25zZSK3BZJBkwUKDkNvZGUgUmVmZXJlbmNlEgZEZWxldGUaQ0RlbGV0ZSBhIGNvZGUgcmVmZXJlbmNlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgcm9sZS4qHHdlYi52MS5jb2RlX3JlZmVyZW5jZS5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGioYL3YxL2NvZGVfcmVmZXJlbmNlcy97aWR9QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9jb2RlcmVmYgZwcm90bzMK058BChtwcm90by9nYXRld2F5L3NlcnZpY2UucHJvdG8SEWJ1Y2tldGVlci5nYXRld2F5Ghxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8aGXByb3RvL2NvbW1vbi9zdHJpbmcucHJvdG8aFXByb3RvL3VzZXIvdXNlci5wcm90bxoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VydmljZS5wcm90bxodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8aHHByb3RvL2ZlYXR1cmUvc3RyYXRlZ3kucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aFXByb3RvL3B1c2gvcHVzaC5wcm90bxoYcHJvdG8vcHVzaC9zZXJ2aWNlLnByb3RvGhtwcm90by9hY2NvdW50L3NlcnZpY2UucHJvdG8aG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxoecHJvdG8vZXZlbnQvY2xpZW50L2V2ZW50LnByb3RvGiJwcm90by9jb2RlcmVmL2NvZGVfcmVmZXJlbmNlLnByb3RvGhtwcm90by9jb2RlcmVmL3NlcnZpY2UucHJvdG8iDQoLUGluZ1JlcXVlc3QiIgoMUGluZ1Jlc3BvbnNlEhIKBHRpbWUYASABKANSBHRpbWUi1wEKFkdldEZlYXR1cmVGbGFnc1JlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoQZmVhdHVyZV9mbGFnc19pZBgCIAEoCVIOZmVhdHVyZUZsYWdzSWQSIQoMcmVxdWVzdGVkX2F0GAMgASgDUgtyZXF1ZXN0ZWRBdBI9Cglzb3VyY2VfaWQYBCABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgFIAEoCVIKc2RrVmVyc2lvbiL8AQoXR2V0RmVhdHVyZUZsYWdzUmVzcG9uc2USKAoQZmVhdHVyZV9mbGFnc19pZBgBIAEoCVIOZmVhdHVyZUZsYWdzSWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxI5ChlhcmNoaXZlZF9mZWF0dXJlX2ZsYWdfaWRzGAMgAygJUhZhcmNoaXZlZEZlYXR1cmVGbGFnSWRzEiEKDHJlcXVlc3RlZF9hdBgEIAEoA1ILcmVxdWVzdGVkQXQSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSK8AQoWR2V0U2VnbWVudFVzZXJzUmVxdWVzdBIfCgtzZWdtZW50X2lkcxgBIAMoCVIKc2VnbWVudElkcxIhCgxyZXF1ZXN0ZWRfYXQYAiABKANSC3JlcXVlc3RlZEF0Ej0KCXNvdXJjZV9pZBgDIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAQgASgJUgpzZGtWZXJzaW9uItUBChdHZXRTZWdtZW50VXNlcnNSZXNwb25zZRJECg1zZWdtZW50X3VzZXJzGAEgAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJzUgxzZWdtZW50VXNlcnMSLgoTZGVsZXRlZF9zZWdtZW50X2lkcxgCIAMoCVIRZGVsZXRlZFNlZ21lbnRJZHMSIQoMcmVxdWVzdGVkX2F0GAMgASgDUgtyZXF1ZXN0ZWRBdBIhCgxmb3JjZV91cGRhdGUYBCABKAhSC2ZvcmNlVXBkYXRlIvoDChVHZXRFdmFsdWF0aW9uc1JlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoEdXNlchgCIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISLgoTdXNlcl9ldmFsdWF0aW9uc19pZBgDIAEoCVIRdXNlckV2YWx1YXRpb25zSWQSIQoKZmVhdHVyZV9pZBgEIAEoCUICGAFSCWZlYXR1cmVJZBI9Cglzb3VyY2VfaWQYBSABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBJ8Chl1c2VyX2V2YWx1YXRpb25fY29uZGl0aW9uGAYgASgLMkAuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXF1ZXN0LlVzZXJFdmFsdWF0aW9uQ29uZGl0aW9uUhd1c2VyRXZhbHVhdGlvbkNvbmRpdGlvbhIfCgtzZGtfdmVyc2lvbhgHIAEoCVIKc2RrVmVyc2lvbhp0ChdVc2VyRXZhbHVhdGlvbkNvbmRpdGlvbhIhCgxldmFsdWF0ZWRfYXQYASABKANSC2V2YWx1YXRlZEF0EjYKF3VzZXJfYXR0cmlidXRlc191cGRhdGVkGAIgASgIUhV1c2VyQXR0cmlidXRlc1VwZGF0ZWQizgEKFkdldEV2YWx1YXRpb25zUmVzcG9uc2USPgoFc3RhdGUYASABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5Vc2VyRXZhbHVhdGlvbnMuU3RhdGVSBXN0YXRlEkQKC2V2YWx1YXRpb25zGAIgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUgtldmFsdWF0aW9ucxIuChN1c2VyX2V2YWx1YXRpb25zX2lkGAMgASgJUhF1c2VyRXZhbHVhdGlvbnNJZCLRAQoUR2V0RXZhbHVhdGlvblJlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoEdXNlchgCIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEj0KCXNvdXJjZV9pZBgEIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAUgASgJUgpzZGtWZXJzaW9uIlYKFUdldEV2YWx1YXRpb25SZXNwb25zZRI9CgpldmFsdWF0aW9uGAEgASgLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblIKZXZhbHVhdGlvbiKuAQoVUmVnaXN0ZXJFdmVudHNSZXF1ZXN0EjUKBmV2ZW50cxgBIAMoCzIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuRXZlbnRSBmV2ZW50cxIfCgtzZGtfdmVyc2lvbhgCIAEoCVIKc2RrVmVyc2lvbhI9Cglzb3VyY2VfaWQYAyABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZCKUAgoWUmVnaXN0ZXJFdmVudHNSZXNwb25zZRJNCgZlcnJvcnMYASADKAsyNS5idWNrZXRlZXIuZ2F0ZXdheS5SZWdpc3RlckV2ZW50c1Jlc3BvbnNlLkVycm9yc0VudHJ5UgZlcnJvcnMaPwoFRXJyb3ISHAoJcmV0cmlhYmxlGAEgASgIUglyZXRyaWFibGUSGAoHbWVzc2FnZRgCIAEoCVIHbWVzc2FnZRpqCgtFcnJvcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJFCgV2YWx1ZRgCIAEoCzIvLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVzcG9uc2UuRXJyb3JSBXZhbHVlOgI4ASKcAQoMVHJhY2tSZXF1ZXN0EhYKBmFwaWtleRgBIAEoCVIGYXBpa2V5EhYKBnVzZXJpZBgCIAEoCVIGdXNlcmlkEhYKBmdvYWxpZBgDIAEoCVIGZ29hbGlkEhAKA3RhZxgEIAEoCVIDdGFnEhwKCXRpbWVzdGFtcBgFIAEoA1IJdGltZXN0YW1wEhQKBXZhbHVlGAYgASgBUgV2YWx1ZSIPCg1UcmFja1Jlc3BvbnNlIt0CChRDcmVhdGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24STwoOdmFyaWF0aW9uX3R5cGUYBCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxISCgR0YWdzGAYgAygJUgR0YWdzEiwKEm9uX3ZhcmlhdGlvbl9pbmRleBgHIAEoBVIQb25WYXJpYXRpb25JbmRleBIuChNvZmZfdmFyaWF0aW9uX2luZGV4GAggASgFUhFvZmZWYXJpYXRpb25JbmRleCJNChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUiIwoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSL1AQoTTGlzdEZlYXR1cmVzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEkkKCG9yZGVyX2J5GAMgASgOMi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El4KD29yZGVyX2RpcmVjdGlvbhgEIAEoDjI1LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uIk4KFExpc3RGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMilgYKFFVwZGF0ZUZlYXR1cmVSZXF1ZXN0EhgKB2NvbW1lbnQYASABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQSDgoCaWQYAyABKAlSAmlkEjAKBG5hbWUYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uEjUKBHRhZ3MYBiABKAsyIS5idWNrZXRlZXIuY29tbW9uLlN0cmluZ0xpc3RWYWx1ZVIEdGFncxI0CgdlbmFibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIHZW5hYmxlZBI2CghhcmNoaXZlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkUKCnZhcmlhdGlvbnMYCSABKAsyJS5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25MaXN0VmFsdWVSCnZhcmlhdGlvbnMSTgoNcHJlcmVxdWlzaXRlcxgKIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZUxpc3RWYWx1ZVINcHJlcmVxdWlzaXRlcxI8Cgd0YXJnZXRzGAsgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0TGlzdFZhbHVlUgd0YXJnZXRzEjYKBXJ1bGVzGAwgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZUxpc3RWYWx1ZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgNIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSQQoNb2ZmX3ZhcmlhdGlvbhgOIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIMb2ZmVmFyaWF0aW9uIk0KFVVwZGF0ZUZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSKQAgoRTGlzdFB1c2hlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJECghvcmRlcl9ieRgDIAEoDjIpLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWQoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjAuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkInsKEkxpc3RQdXNoZXNSZXNwb25zZRIsCgZwdXNoZXMYASADKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgZwdXNoZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiawoRQ3JlYXRlUHVzaFJlcXVlc3QSEgoEdGFncxgBIAMoCVIEdGFncxISCgRuYW1lGAIgASgJUgRuYW1lEi4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYAyABKAxSEWZjbVNlcnZpY2VBY2NvdW50Ij4KEkNyZWF0ZVB1c2hSZXNwb25zZRIoCgRwdXNoGAEgASgLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIEcHVzaCIgCg5HZXRQdXNoUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQiOwoPR2V0UHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIoACChFVcGRhdGVQdXNoUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSEgoEdGFncxgCIAMoCVIEdGFncxIwCgRuYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEpQBCgdkZWxldGVkGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJekkFbKgdkZWxldGVkMlBpZiB0cnVlLCB0aGUgcHVzaCBub3RpZmljYXRpb24gd2lsbCBiZSBkZWxldGVkIGFuZCBvdGhlciBmaWVsZHMgd2lsbCBiZSBpZ25vcmVkLlIHZGVsZXRlZCI+ChJVcGRhdGVQdXNoUmVzcG9uc2USKAoEcHVzaBgBIAEoCzIULmJ1Y2tldGVlci5wdXNoLlB1c2hSBHB1c2gipQMKFkNyZWF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgHIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgIIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCSABKAlSCGxhbmd1YWdlIlEKF0NyZWF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiiQgKFlVwZGF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSMAoEbmFtZRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRJGChBhdmF0YXJfaW1hZ2VfdXJsGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUg5hdmF0YXJJbWFnZVVybBJsChFvcmdhbml6YXRpb25fcm9sZRgFIAEoCzI/LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuT3JnYW5pemF0aW9uUm9sZVZhbHVlUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxI7CgpmaXJzdF9uYW1lGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUglmaXJzdE5hbWUSOQoJbGFzdF9uYW1lGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUghsYXN0TmFtZRI4CghsYW5ndWFnZRgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFuZ3VhZ2USOAoJbGFzdF9zZWVuGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSCGxhc3RTZWVuElEKBmF2YXRhchgLIAEoCzI5LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuQWNjb3VudFYyQXZhdGFyUgZhdmF0YXISoAEKCGRpc2FibGVkGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJokkFlKghkaXNhYmxlZDJZaWYgZGlzYWJsZWQgaXMgdHJ1ZSwgdGhlIGFjY291bnQgd2lsbCBiZSBkaXNhYmxlZC4gSWYgZmFsc2UsIHRoZSBhY2NvdW50IHdpbGwgYmUgZW5hYmxlZC5SCGRpc2FibGVkEooBCgdkZWxldGVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJUkkFRKgdkZWxldGVkMkZpZiB0cnVlLCB0aGUgYWNjb3VudCB3aWxsIGJlIGRlbGV0ZWQgYW5kIG90aGVyIGZpZWxkcyB3aWxsIGJlIGlnbm9yZWQuUgdkZWxldGVkIlEKF1VwZGF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiVAoTR2V0QWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZCJOChRHZXRBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50ImEKIkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkIl0KI0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiNwoMR2V0TWVSZXF1ZXN0EicKD29yZ2FuaXphdGlvbl9pZBgBIAEoCVIOb3JnYW5pemF0aW9uSWQiTAoNR2V0TWVSZXNwb25zZRI7CgdhY2NvdW50GAEgASgLMiEuYnVja2V0ZWVyLmFjY291bnQuQ29uc29sZUFjY291bnRSB2FjY291bnQi2gQKFUxpc3RBY2NvdW50c1YyUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEicKD29yZ2FuaXphdGlvbl9pZBgDIAEoCVIOb3JnYW5pemF0aW9uSWQSSwoIb3JkZXJfYnkYBCABKA4yMC5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJgCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNy5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSSAoRb3JnYW5pemF0aW9uX3JvbGUYCCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJDCg5lbnZpcm9ubWVudF9pZBgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVINZW52aXJvbm1lbnRJZBJGChBlbnZpcm9ubWVudF9yb2xlGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSD2Vudmlyb25tZW50Um9sZSKLAQoWTGlzdEFjY291bnRzVjJSZXNwb25zZRI4CghhY2NvdW50cxgBIAMoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIIYWNjb3VudHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiKQoXR2V0Q29kZVJlZmVyZW5jZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkImMKGEdldENvZGVSZWZlcmVuY2VSZXNwb25zZRJHCg5jb2RlX3JlZmVyZW5jZRgBIAEoCzIgLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2VSDWNvZGVSZWZlcmVuY2UizQIKGUxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJPCghvcmRlcl9ieRgDIAEoDjI0LmJ1Y2tldGVlci5jb2RlcmVmLkxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJkCg9vcmRlcl9kaXJlY3Rpb24YBCABKA4yOy5idWNrZXRlZXIuY29kZXJlZi5MaXN0Q29kZVJlZmVyZW5jZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgFIAEoCVINc2VhcmNoS2V5d29yZBIdCgpmZWF0dXJlX2lkGAYgASgJUglmZWF0dXJlSWQioAEKGkxpc3RDb2RlUmVmZXJlbmNlc1Jlc3BvbnNlEkkKD2NvZGVfcmVmZXJlbmNlcxgBIAMoCzIgLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2VSDmNvZGVSZWZlcmVuY2VzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IqMEChpDcmVhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQSGwoJZmlsZV9wYXRoGAMgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgEIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBSABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgGIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5maWxlX2V4dGVuc2lvbhgNIAEoCVINZmlsZUV4dGVuc2lvbiJmChtDcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIr8CChpVcGRhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSGwoJZmlsZV9wYXRoGAIgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgDIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBCABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgFIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgGIAMoCVIHYWxpYXNlcxIrChFyZXBvc2l0b3J5X2JyYW5jaBgHIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgIIAEoCVIKY29tbWl0SGFzaBIlCg5maWxlX2V4dGVuc2lvbhgJIAEoCVINZmlsZUV4dGVuc2lvbiJmChtVcGRhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIiwKGkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZCIdChtEZWxldGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UymUYKB0dhdGV3YXkS9AIKDkdldEV2YWx1YXRpb25zEiguYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXF1ZXN0GikuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXNwb25zZSKMApJB7QEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSD0dldCBFdmFsdWF0aW9ucxphR2V0cyBhbGwgdGhlIGV2YWx1YXRpb25zIGZvciBhIHNwZWNpZmljIHVzZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYENMSUVOVGAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkuZ2V0X2V2YWx1YXRpb25zckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhUiEC9nZXRfZXZhbHVhdGlvbnM6ASoS7gIKDUdldEV2YWx1YXRpb24SJy5idWNrZXRlZXIuZ2F0ZXdheS5HZXRFdmFsdWF0aW9uUmVxdWVzdBooLmJ1Y2tldGVlci5nYXRld2F5LkdldEV2YWx1YXRpb25SZXNwb25zZSKJApJB6wEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSDkdldCBFdmFsdWF0aW9uGmFHZXRzIGEgc2luZ2xlIGV2YWx1YXRpb24gZm9yIGEgc3BlY2lmaWMgdXNlci4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgQ0xJRU5UYCBBUEkgS2V5IHJvbGUuKhphcGkuZ2F0ZXdheS5nZXRfZXZhbHVhdGlvbnJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIUIg8vZ2V0X2V2YWx1YXRpb246ASoS+gIKD0dldEZlYXR1cmVGbGFncxIpLmJ1Y2tldGVlci5nYXRld2F5LkdldEZlYXR1cmVGbGFnc1JlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlRmxhZ3NSZXNwb25zZSKPApJB7gEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSEUdldCBGZWF0dXJlIEZsYWdzGl5HZXRzIGFsbCB0aGUgZmVhdHVyZSBmbGFnIGluIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCBpdCBuZWVkcyBgU0VSVkVSYCBBUEkgS2V5IHJvbGUuKh1hcGkuZ2F0ZXdheS5nZXRfZmVhdHVyZV9mbGFnc3JCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIXIhIvZ2V0X2ZlYXR1cmVfZmxhZ3M6ASoS+wIKD0dldFNlZ21lbnRVc2VycxIpLmJ1Y2tldGVlci5nYXRld2F5LkdldFNlZ21lbnRVc2Vyc1JlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRTZWdtZW50VXNlcnNSZXNwb25zZSKQApJB7wEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSEUdldCBTZWdtZW50IFVzZXJzGl9HZXRzIGFsbCB0aGUgc2VnbWVudCB1c2VycyBpbiBhbiBlbnZpcm9ubWVudC4gVG8gY2FsbCB0aGlzIEFQSSwgaXQgbmVlZHMgYFNFUlZFUmAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkuZ2V0X3NlZ21lbnRfdXNlcnNyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFyISL2dldF9zZWdtZW50X3VzZXJzOgEqEvkCCg5SZWdpc3RlckV2ZW50cxIoLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVxdWVzdBopLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVzcG9uc2UikQKSQfIBChZDbGllbnQgYW5kIFNlcnZlciBTREtzEg9SZWdpc3RlciBFdmVudHMaZlRoaXMgQVBJIGlzIGZvciByZXBvcnRpbmcgR29hbCBldmVudHMuIFRvIGNhbGwgdGhpcyBBUEksIGl0IG5lZWRzIGEgYENMSUVOVGAgb3IgYFNFUlZFUmAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkucmVnaXN0ZXJfZXZlbnRzckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhUiEC9yZWdpc3Rlcl9ldmVudHM6ASoSjwIKBVRyYWNrEh8uYnVja2V0ZWVyLmdhdGV3YXkuVHJhY2tSZXF1ZXN0GiAuYnVja2V0ZWVyLmdhdGV3YXkuVHJhY2tSZXNwb25zZSLCAZJBsAEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSBVRyYWNrGnxUaGlzIEFQSSBpcyBhbiBpbnRlZ3JhdGlvbiBmb3IgR29vZ2xlIFRhYiBNYW5hZ2VyIHRvIHJlcG9ydCBHb2FsIGV2ZW50cy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgQ0xJRU5UYCBBUEkgS2V5IHJvbGUuKhFhcGkuZ2F0ZXdheS50cmFja4LT5JMCCBIGL3RyYWNrEtUCCg1DcmVhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVGZWF0dXJlUmVzcG9uc2Ui8AGSQdUBCg1GZWF0dXJlIEZsYWdzEgZDcmVhdGUaWENyZWF0ZSBhIG5ldyBGZWF0dXJlIEZsYWcuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHmFwaS5nYXRld2F5LnYxLmZlYXR1cmVzLmNyZWF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIRIgwvdjEvZmVhdHVyZXM6ASoStQIKCkdldEZlYXR1cmUSJC5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlUmVxdWVzdBolLmJ1Y2tldGVlci5nYXRld2F5LkdldEZlYXR1cmVSZXNwb25zZSLZAZJBvAEKDUZlYXR1cmUgRmxhZ3MSA0dldBpFR2V0IGEgRmVhdHVyZSBGbGFnLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhthcGkuZ2F0ZXdheS52MS5mZWF0dXJlcy5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCExIRL3YxL2ZlYXR1cmVzL3tpZH0SuAIKDExpc3RGZWF0dXJlcxImLmJ1Y2tldGVlci5nYXRld2F5Lkxpc3RGZWF0dXJlc1JlcXVlc3QaJy5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0RmVhdHVyZXNSZXNwb25zZSLWAZJBvgEKDUZlYXR1cmUgRmxhZ3MSBExpc3QaRUxpc3QgRmVhdHVyZSBGbGFncy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiocYXBpLmdhdGV3YXkudjEuZmVhdHVyZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIOEgwvdjEvZmVhdHVyZXMS1gIKDVVwZGF0ZUZlYXR1cmUSJy5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVGZWF0dXJlUmVxdWVzdBooLmJ1Y2tldGVlci5nYXRld2F5LlVwZGF0ZUZlYXR1cmVSZXNwb25zZSLxAZJB0QEKDUZlYXR1cmUgRmxhZ3MSBlVwZGF0ZRpUVXBkYXRlIGEgRmVhdHVyZSBGbGFnLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh5hcGkuZ2F0ZXdheS52MS5mZWF0dXJlcy51cGRhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFjIRL3YxL2ZlYXR1cmVzL3tpZH06ASoS7gEKBFBpbmcSHi5idWNrZXRlZXIuZ2F0ZXdheS5QaW5nUmVxdWVzdBofLmJ1Y2tldGVlci5nYXRld2F5LlBpbmdSZXNwb25zZSKkAZJBkwEKB1V0aWxpdHkSBFBpbmcaKlBpbmcgdGhlIHNlcnZlciB0byBjaGVjayBpdHMgYXZhaWxhYmlsaXR5LioQYXBpLmdhdGV3YXkucGluZ2IAckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAgcSBS9waW5nEqACCgpMaXN0UHVzaGVzEiQuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdFB1c2hlc1JlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0UHVzaGVzUmVzcG9uc2UixAGSQa4BCgZQdXNoZXMSBExpc3QaPkxpc3QgcHVzaGVzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhphcGkuZ2F0ZXdheS52MS5wdXNoZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIMEgovdjEvcHVzaGVzEvMCCgpDcmVhdGVQdXNoEiQuYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlUHVzaFJlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVQdXNoUmVzcG9uc2UilwKSQYACCgZQdXNoZXMSBkNyZWF0ZRqLAUNyZWF0ZSBhIG5ldyBQdXNoIG5vdGlmaWNhdGlvbiB0aHJvdWdoIEdvb2dsZSBGaXJlYmFzZSBDbG91ZCBNZXNzYWdpbmcgKEZDTSkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHGFwaS5nYXRld2F5LnYxLnB1c2hlcy5jcmVhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDSIIL3YxL3B1c2g6ASoSpAIKB0dldFB1c2gSIS5idWNrZXRlZXIuZ2F0ZXdheS5HZXRQdXNoUmVxdWVzdBoiLmJ1Y2tldGVlci5nYXRld2F5LkdldFB1c2hSZXNwb25zZSLRAZJBuAEKBlB1c2hlcxIDR2V0GkpHZXQgYSBQdXNoIG5vdGlmaWNhdGlvbi4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLioZYXBpLmdhdGV3YXkudjEucHVzaGVzLmdldHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIPEg0vdjEvcHVzaC97aWR9EsACCgpVcGRhdGVQdXNoEiQuYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlUHVzaFJlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVQdXNoUmVzcG9uc2Ui5AGSQcgBCgZQdXNoZXMSBlVwZGF0ZRpUVXBkYXRlIGEgUHVzaCBub3RpZmljYXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKhxhcGkuZ2F0ZXdheS52MS5wdXNoZXMudXBkYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhIyDS92MS9wdXNoL3tpZH06ASoSzgIKD0NyZWF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5nYXRld2F5LkNyZWF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVBY2NvdW50VjJSZXNwb25zZSLjAZJByQEKB0FjY291bnQSBkNyZWF0ZRpTQ3JlYXRlIGEgbmV3IEFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHWFwaS5nYXRld2F5LnYxLmFjY291bnQuY3JlYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhAiCy92MS9hY2NvdW50OgEqEuUCCg9VcGRhdGVBY2NvdW50VjISKS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlQWNjb3VudFYyUmVzcG9uc2Ui+gGSQcYBCgdBY2NvdW50EgZVcGRhdGUaUFVwZGF0ZSBhbiBBY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh1hcGkuZ2F0ZXdheS52MS5hY2NvdW50LnVwZGF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIqMiUvdjEvYWNjb3VudC97b3JnYW5pemF0aW9uX2lkfS97ZW1haWx9OgEqEtcCCgxHZXRBY2NvdW50VjISJi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRBY2NvdW50VjJSZXF1ZXN0GicuYnVja2V0ZWVyLmdhdGV3YXkuR2V0QWNjb3VudFYyUmVzcG9uc2Ui9QGSQcQBCgdBY2NvdW50EhZHZXQgYnkgT3JnYW5pemF0aW9uIElEGkFHZXQgYW4gQWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLioaYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCJxIlL3YxL2FjY291bnQve29yZ2FuaXphdGlvbl9pZH0ve2VtYWlsfRLBAwobR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEEjUuYnVja2V0ZWVyLmdhdGV3YXkuR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVxdWVzdBo2LmJ1Y2tldGVlci5nYXRld2F5LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlIrICkkHnAQoHQWNjb3VudBIVR2V0IGJ5IEVudmlyb25tZW50IElEGlNHZXQgYW4gQWNjb3VudCBieSBFbnZpcm9ubWVudCBJRC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiosYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRfYnlfZW52aXJvbm1lbnRfaWRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCQRI/L3YxL2FjY291bnQvZ2V0LWFjY291bnQtYnktZW52aXJvbm1lbnQve2Vudmlyb25tZW50X2lkfS97ZW1haWx9EsYCCgVHZXRNZRIfLmJ1Y2tldGVlci5nYXRld2F5LkdldE1lUmVxdWVzdBogLmJ1Y2tldGVlci5nYXRld2F5LkdldE1lUmVzcG9uc2Ui+QGSQc0BCgdBY2NvdW50EhNHZXQgU2VydmljZSBBY2NvdW50GkpHZXQgdGhlIGN1cnJlbnQgQWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRfbWVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCIhIgL3YxL2FjY291bnQvbWUve29yZ2FuaXphdGlvbl9pZH0StgIKDkxpc3RBY2NvdW50c1YyEiguYnVja2V0ZWVyLmdhdGV3YXkuTGlzdEFjY291bnRzVjJSZXF1ZXN0GikuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdEFjY291bnRzVjJSZXNwb25zZSLOAZJBtgEKB0FjY291bnQSBExpc3QaREdldCBsaXN0IEFjY291bnRzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhthcGkuZ2F0ZXdheS52MS5hY2NvdW50Lmxpc3RyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDhIML3YxL2FjY291bnRzEtkCChBHZXRDb2RlUmVmZXJlbmNlEiouYnVja2V0ZWVyLmdhdGV3YXkuR2V0Q29kZVJlZmVyZW5jZVJlcXVlc3QaKy5idWNrZXRlZXIuZ2F0ZXdheS5HZXRDb2RlUmVmZXJlbmNlUmVzcG9uc2Ui6wGSQccBCg9Db2RlIFJlZmVyZW5jZXMSA0dldBpHR2V0IGEgY29kZSByZWZlcmVuY2UuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFJFQURgIEFQSSBLZXkgcm9sZS4qImFwaS5nYXRld2F5LnYxLmNvZGVfcmVmZXJlbmNlcy5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCGhIYL3YxL2NvZGVfcmVmZXJlbmNlcy97aWR9EtwCChJMaXN0Q29kZVJlZmVyZW5jZXMSLC5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0Q29kZVJlZmVyZW5jZXNSZXF1ZXN0Gi0uYnVja2V0ZWVyLmdhdGV3YXkuTGlzdENvZGVSZWZlcmVuY2VzUmVzcG9uc2Ui6AGSQckBCg9Db2RlIFJlZmVyZW5jZXMSBExpc3QaR0xpc3QgY29kZSByZWZlcmVuY2VzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKiNhcGkuZ2F0ZXdheS52MS5jb2RlX3JlZmVyZW5jZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIVEhMvdjEvY29kZV9yZWZlcmVuY2VzEvkCChNDcmVhdGVDb2RlUmVmZXJlbmNlEi0uYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QaLi5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UiggKSQeABCg9Db2RlIFJlZmVyZW5jZXMSBkNyZWF0ZRpaQ3JlYXRlIGEgbmV3IGNvZGUgcmVmZXJlbmNlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKiVhcGkuZ2F0ZXdheS52MS5jb2RlX3JlZmVyZW5jZXMuY3JlYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhgiEy92MS9jb2RlX3JlZmVyZW5jZXM6ASoS+gIKE1VwZGF0ZUNvZGVSZWZlcmVuY2USLS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBouLmJ1Y2tldGVlci5nYXRld2F5LlVwZGF0ZUNvZGVSZWZlcmVuY2VSZXNwb25zZSKDApJB3AEKD0NvZGUgUmVmZXJlbmNlcxIGVXBkYXRlGlZVcGRhdGUgYSBjb2RlIHJlZmVyZW5jZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgV1JJVEVgIG9yIGBBRE1JTmAgQVBJIEtleSByb2xlLiolYXBpLmdhdGV3YXkudjEuY29kZV9yZWZlcmVuY2VzLnVwZGF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIdMhgvdjEvY29kZV9yZWZlcmVuY2VzL3tpZH06ASoS9wIKE0RlbGV0ZUNvZGVSZWZlcmVuY2USLS5idWNrZXRlZXIuZ2F0ZXdheS5EZWxldGVDb2RlUmVmZXJlbmNlUmVxdWVzdBouLmJ1Y2tldGVlci5nYXRld2F5LkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXNwb25zZSKAApJB3AEKD0NvZGUgUmVmZXJlbmNlcxIGRGVsZXRlGlZEZWxldGUgYSBjb2RlIHJlZmVyZW5jZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgV1JJVEVgIG9yIGBBRE1JTmAgQVBJIEtleSByb2xlLiolYXBpLmdhdGV3YXkudjEuY29kZV9yZWZlcmVuY2VzLmRlbGV0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIaKhgvdjEvY29kZV9yZWZlcmVuY2VzL3tpZH1ChAZaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9nYXRld2F5kkHPBRIgChlCdWNrZXRlZXIgR2F0ZXdheSBTZXJ2aWNlMgMxLjAaCEVORFBPSU5UKgECMhBhcHBsaWNhdGlvbi9qc29uOhBhcHBsaWNhdGlvbi9qc29uUrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9UrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfVKpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH1aUApOCgpBcGlLZXlBdXRoEkAIAhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhoNYXV0aG9yaXphdGlvbiACYhAKDgoKQXBpS2V5QXV0aBIAYgZwcm90bzM= + descriptor: CocFChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkieQoESHR0cBIqCgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBXJ1bGVzEkUKH2Z1bGx5X2RlY29kZV9yZXNlcnZlZF9leHBhbnNpb24YAiABKAhSHGZ1bGx5RGVjb2RlUmVzZXJ2ZWRFeHBhbnNpb24itQIKCEh0dHBSdWxlEhoKCHNlbGVjdG9yGAEgASgJUghzZWxlY3RvchISCgNnZXQYAiABKAlIAFIDZ2V0EhIKA3B1dBgDIAEoCUgAUgNwdXQSFAoEcG9zdBgEIAEoCUgAUgRwb3N0EhgKBmRlbGV0ZRgFIAEoCUgAUgZkZWxldGUSFgoFcGF0Y2gYBiABKAlIAFIFcGF0Y2gSNwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21IdHRwUGF0dGVybkgAUgZjdXN0b20SEgoEYm9keRgHIAEoCVIEYm9keRJFChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVISYWRkaXRpb25hbEJpbmRpbmdzQgkKB3BhdHRlcm4iOwoRQ3VzdG9tSHR0cFBhdHRlcm4SEgoEa2luZBgBIAEoCVIEa2luZBISCgRwYXRoGAIgASgJUgRwYXRoQmoKDmNvbS5nb29nbGUuYXBpQglIdHRwUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJYgZwcm90bzMK4UYKIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvEg9nb29nbGUucHJvdG9idWYiTQoRRmlsZURlc2NyaXB0b3JTZXQSOAoEZmlsZRgBIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5GaWxlRGVzY3JpcHRvclByb3RvUgRmaWxlIv4EChNGaWxlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHcGFja2FnZRgCIAEoCVIHcGFja2FnZRIeCgpkZXBlbmRlbmN5GAMgAygJUgpkZXBlbmRlbmN5EisKEXB1YmxpY19kZXBlbmRlbmN5GAogAygFUhBwdWJsaWNEZXBlbmRlbmN5EicKD3dlYWtfZGVwZW5kZW5jeRgLIAMoBVIOd2Vha0RlcGVuZGVuY3kSQwoMbWVzc2FnZV90eXBlGAQgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1ILbWVzc2FnZVR5cGUSQQoJZW51bV90eXBlGAUgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlEkEKB3NlcnZpY2UYBiADKAsyJy5nb29nbGUucHJvdG9idWYuU2VydmljZURlc2NyaXB0b3JQcm90b1IHc2VydmljZRJDCglleHRlbnNpb24YByADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhI2CgdvcHRpb25zGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zUgdvcHRpb25zEkkKEHNvdXJjZV9jb2RlX2luZm8YCSABKAsyHy5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm9SDnNvdXJjZUNvZGVJbmZvEhYKBnN5bnRheBgMIAEoCVIGc3ludGF4EhgKB2VkaXRpb24YDSABKAlSB2VkaXRpb24iuQYKD0Rlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjsKBWZpZWxkGAIgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUgVmaWVsZBJDCglleHRlbnNpb24YBiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SCWV4dGVuc2lvbhJBCgtuZXN0ZWRfdHlwZRgDIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SCm5lc3RlZFR5cGUSQQoJZW51bV90eXBlGAQgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG9SCGVudW1UeXBlElgKD2V4dGVuc2lvbl9yYW5nZRgFIAMoCzIvLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uRXh0ZW5zaW9uUmFuZ2VSDmV4dGVuc2lvblJhbmdlEkQKCm9uZW9mX2RlY2wYCCADKAsyJS5nb29nbGUucHJvdG9idWYuT25lb2ZEZXNjcmlwdG9yUHJvdG9SCW9uZW9mRGVjbBI5CgdvcHRpb25zGAcgASgLMh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zUgdvcHRpb25zElUKDnJlc2VydmVkX3JhbmdlGAkgAygLMi4uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYCiADKAlSDHJlc2VydmVkTmFtZRp6Cg5FeHRlbnNpb25SYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQSQAoHb3B0aW9ucxgDIAEoCzImLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnNSB29wdGlvbnMaNwoNUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQirQQKFUV4dGVuc2lvblJhbmdlT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbhJZCgtkZWNsYXJhdGlvbhgCIAMoCzIyLmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuRGVjbGFyYXRpb25CA4gBAlILZGVjbGFyYXRpb24SaAoMdmVyaWZpY2F0aW9uGAMgASgOMjguZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5WZXJpZmljYXRpb25TdGF0ZToKVU5WRVJJRklFRFIMdmVyaWZpY2F0aW9uGrMBCgtEZWNsYXJhdGlvbhIWCgZudW1iZXIYASABKAVSBm51bWJlchIbCglmdWxsX25hbWUYAiABKAlSCGZ1bGxOYW1lEhIKBHR5cGUYAyABKAlSBHR5cGUSIwoLaXNfcmVwZWF0ZWQYBCABKAhCAhgBUgppc1JlcGVhdGVkEhoKCHJlc2VydmVkGAUgASgIUghyZXNlcnZlZBIaCghyZXBlYXRlZBgGIAEoCFIIcmVwZWF0ZWQiNAoRVmVyaWZpY2F0aW9uU3RhdGUSDwoLREVDTEFSQVRJT04QABIOCgpVTlZFUklGSUVEEAEqCQjoBxCAgICAAiLBBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zEicKD3Byb3RvM19vcHRpb25hbBgRIAEoCFIOcHJvdG8zT3B0aW9uYWwitgIKBFR5cGUSDwoLVFlQRV9ET1VCTEUQARIOCgpUWVBFX0ZMT0FUEAISDgoKVFlQRV9JTlQ2NBADEg8KC1RZUEVfVUlOVDY0EAQSDgoKVFlQRV9JTlQzMhAFEhAKDFRZUEVfRklYRUQ2NBAGEhAKDFRZUEVfRklYRUQzMhAHEg0KCVRZUEVfQk9PTBAIEg8KC1RZUEVfU1RSSU5HEAkSDgoKVFlQRV9HUk9VUBAKEhAKDFRZUEVfTUVTU0FHRRALEg4KClRZUEVfQllURVMQDBIPCgtUWVBFX1VJTlQzMhANEg0KCVRZUEVfRU5VTRAOEhEKDVRZUEVfU0ZJWEVEMzIQDxIRCg1UWVBFX1NGSVhFRDY0EBASDwoLVFlQRV9TSU5UMzIQERIPCgtUWVBFX1NJTlQ2NBASIkMKBUxhYmVsEhIKDkxBQkVMX09QVElPTkFMEAESEgoOTEFCRUxfUkVRVUlSRUQQAhISCg5MQUJFTF9SRVBFQVRFRBADImMKFE9uZW9mRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSNwoHb3B0aW9ucxgCIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnNSB29wdGlvbnMi4wIKE0VudW1EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI/CgV2YWx1ZRgCIAMoCzIpLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG9SBXZhbHVlEjYKB29wdGlvbnMYAyABKAsyHC5nb29nbGUucHJvdG9idWYuRW51bU9wdGlvbnNSB29wdGlvbnMSXQoOcmVzZXJ2ZWRfcmFuZ2UYBCADKAsyNi5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90by5FbnVtUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAUgAygJUgxyZXNlcnZlZE5hbWUaOwoRRW51bVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIoMBChhFbnVtVmFsdWVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAiABKAVSBm51bWJlchI7CgdvcHRpb25zGAMgASgLMiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnNSB29wdGlvbnMipwEKFlNlcnZpY2VEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI+CgZtZXRob2QYAiADKAsyJi5nb29nbGUucHJvdG9idWYuTWV0aG9kRGVzY3JpcHRvclByb3RvUgZtZXRob2QSOQoHb3B0aW9ucxgDIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9uc1IHb3B0aW9ucyKJAgoVTWV0aG9kRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSHQoKaW5wdXRfdHlwZRgCIAEoCVIJaW5wdXRUeXBlEh8KC291dHB1dF90eXBlGAMgASgJUgpvdXRwdXRUeXBlEjgKB29wdGlvbnMYBCABKAsyHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9uc1IHb3B0aW9ucxIwChBjbGllbnRfc3RyZWFtaW5nGAUgASgIOgVmYWxzZVIPY2xpZW50U3RyZWFtaW5nEjAKEHNlcnZlcl9zdHJlYW1pbmcYBiABKAg6BWZhbHNlUg9zZXJ2ZXJTdHJlYW1pbmcikQkKC0ZpbGVPcHRpb25zEiEKDGphdmFfcGFja2FnZRgBIAEoCVILamF2YVBhY2thZ2USMAoUamF2YV9vdXRlcl9jbGFzc25hbWUYCCABKAlSEmphdmFPdXRlckNsYXNzbmFtZRI1ChNqYXZhX211bHRpcGxlX2ZpbGVzGAogASgIOgVmYWxzZVIRamF2YU11bHRpcGxlRmlsZXMSRAodamF2YV9nZW5lcmF0ZV9lcXVhbHNfYW5kX2hhc2gYFCABKAhCAhgBUhlqYXZhR2VuZXJhdGVFcXVhbHNBbmRIYXNoEjoKFmphdmFfc3RyaW5nX2NoZWNrX3V0ZjgYGyABKAg6BWZhbHNlUhNqYXZhU3RyaW5nQ2hlY2tVdGY4ElMKDG9wdGltaXplX2ZvchgJIAEoDjIpLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucy5PcHRpbWl6ZU1vZGU6BVNQRUVEUgtvcHRpbWl6ZUZvchIdCgpnb19wYWNrYWdlGAsgASgJUglnb1BhY2thZ2USNQoTY2NfZ2VuZXJpY19zZXJ2aWNlcxgQIAEoCDoFZmFsc2VSEWNjR2VuZXJpY1NlcnZpY2VzEjkKFWphdmFfZ2VuZXJpY19zZXJ2aWNlcxgRIAEoCDoFZmFsc2VSE2phdmFHZW5lcmljU2VydmljZXMSNQoTcHlfZ2VuZXJpY19zZXJ2aWNlcxgSIAEoCDoFZmFsc2VSEXB5R2VuZXJpY1NlcnZpY2VzEjcKFHBocF9nZW5lcmljX3NlcnZpY2VzGCogASgIOgVmYWxzZVIScGhwR2VuZXJpY1NlcnZpY2VzEiUKCmRlcHJlY2F0ZWQYFyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEi4KEGNjX2VuYWJsZV9hcmVuYXMYHyABKAg6BHRydWVSDmNjRW5hYmxlQXJlbmFzEioKEW9iamNfY2xhc3NfcHJlZml4GCQgASgJUg9vYmpjQ2xhc3NQcmVmaXgSKQoQY3NoYXJwX25hbWVzcGFjZRglIAEoCVIPY3NoYXJwTmFtZXNwYWNlEiEKDHN3aWZ0X3ByZWZpeBgnIAEoCVILc3dpZnRQcmVmaXgSKAoQcGhwX2NsYXNzX3ByZWZpeBgoIAEoCVIOcGhwQ2xhc3NQcmVmaXgSIwoNcGhwX25hbWVzcGFjZRgpIAEoCVIMcGhwTmFtZXNwYWNlEjQKFnBocF9tZXRhZGF0YV9uYW1lc3BhY2UYLCABKAlSFHBocE1ldGFkYXRhTmFtZXNwYWNlEiEKDHJ1YnlfcGFja2FnZRgtIAEoCVILcnVieVBhY2thZ2USWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iOgoMT3B0aW1pemVNb2RlEgkKBVNQRUVEEAESDQoJQ09ERV9TSVpFEAISEAoMTElURV9SVU5USU1FEAMqCQjoBxCAgICAAkoECCYQJyK7AwoOTWVzc2FnZU9wdGlvbnMSPAoXbWVzc2FnZV9zZXRfd2lyZV9mb3JtYXQYASABKAg6BWZhbHNlUhRtZXNzYWdlU2V0V2lyZUZvcm1hdBJMCh9ub19zdGFuZGFyZF9kZXNjcmlwdG9yX2FjY2Vzc29yGAIgASgIOgVmYWxzZVIcbm9TdGFuZGFyZERlc2NyaXB0b3JBY2Nlc3NvchIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIbCgltYXBfZW50cnkYByABKAhSCG1hcEVudHJ5ElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAsgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBBAFSgQIBRAGSgQIBhAHSgQICBAJSgQICRAKIoUJCgxGaWVsZE9wdGlvbnMSQQoFY3R5cGUYASABKA4yIy5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkNUeXBlOgZTVFJJTkdSBWN0eXBlEhYKBnBhY2tlZBgCIAEoCFIGcGFja2VkEkcKBmpzdHlwZRgGIAEoDjIkLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuSlNUeXBlOglKU19OT1JNQUxSBmpzdHlwZRIZCgRsYXp5GAUgASgIOgVmYWxzZVIEbGF6eRIuCg91bnZlcmlmaWVkX2xhenkYDyABKAg6BWZhbHNlUg51bnZlcmlmaWVkTGF6eRIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIZCgR3ZWFrGAogASgIOgVmYWxzZVIEd2VhaxIoCgxkZWJ1Z19yZWRhY3QYECABKAg6BWZhbHNlUgtkZWJ1Z1JlZGFjdBJLCglyZXRlbnRpb24YESABKA4yLS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblJldGVudGlvblIJcmV0ZW50aW9uEkoKBnRhcmdldBgSIAEoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZUICGAFSBnRhcmdldBJICgd0YXJnZXRzGBMgAygOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlUgd0YXJnZXRzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIi8KBUNUeXBlEgoKBlNUUklORxAAEggKBENPUkQQARIQCgxTVFJJTkdfUElFQ0UQAiI1CgZKU1R5cGUSDQoJSlNfTk9STUFMEAASDQoJSlNfU1RSSU5HEAESDQoJSlNfTlVNQkVSEAIiVQoPT3B0aW9uUmV0ZW50aW9uEhUKEVJFVEVOVElPTl9VTktOT1dOEAASFQoRUkVURU5USU9OX1JVTlRJTUUQARIUChBSRVRFTlRJT05fU09VUkNFEAIijAIKEE9wdGlvblRhcmdldFR5cGUSFwoTVEFSR0VUX1RZUEVfVU5LTk9XThAAEhQKEFRBUkdFVF9UWVBFX0ZJTEUQARIfChtUQVJHRVRfVFlQRV9FWFRFTlNJT05fUkFOR0UQAhIXChNUQVJHRVRfVFlQRV9NRVNTQUdFEAMSFQoRVEFSR0VUX1RZUEVfRklFTEQQBBIVChFUQVJHRVRfVFlQRV9PTkVPRhAFEhQKEFRBUkdFVF9UWVBFX0VOVU0QBhIaChZUQVJHRVRfVFlQRV9FTlVNX0VOVFJZEAcSFwoTVEFSR0VUX1RZUEVfU0VSVklDRRAIEhYKElRBUkdFVF9UWVBFX01FVEhPRBAJKgkI6AcQgICAgAJKBAgEEAUicwoMT25lb2ZPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIimAIKC0VudW1PcHRpb25zEh8KC2FsbG93X2FsaWFzGAIgASgIUgphbGxvd0FsaWFzEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkElYKJmRlcHJlY2F0ZWRfbGVnYWN5X2pzb25fZmllbGRfY29uZmxpY3RzGAYgASgIQgIYAVIiZGVwcmVjYXRlZExlZ2FjeUpzb25GaWVsZENvbmZsaWN0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItACChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24a6wEKCkFubm90YXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSHwoLc291cmNlX2ZpbGUYAiABKAlSCnNvdXJjZUZpbGUSFAoFYmVnaW4YAyABKAVSBWJlZ2luEhAKA2VuZBgEIAEoBVIDZW5kElIKCHNlbWFudGljGAUgASgOMjYuZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb24uU2VtYW50aWNSCHNlbWFudGljIigKCFNlbWFudGljEggKBE5PTkUQABIHCgNTRVQQARIJCgVBTElBUxACQn4KE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVotZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMvZGVzY3JpcHRvcnBi+AEBogIDR1BCqgIaR29vZ2xlLlByb3RvYnVmLlJlZmxlY3Rpb24KqAIKHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8SCmdvb2dsZS5hcGkaFWdvb2dsZS9hcGkvaHR0cC5wcm90bxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG86SwoEaHR0cBIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGLDKvCIgASgLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIEaHR0cEJuCg5jb20uZ29vZ2xlLmFwaUIQQW5ub3RhdGlvbnNQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwqGBAoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvEg9nb29nbGUucHJvdG9idWYiIwoLRG91YmxlVmFsdWUSFAoFdmFsdWUYASABKAFSBXZhbHVlIiIKCkZsb2F0VmFsdWUSFAoFdmFsdWUYASABKAJSBXZhbHVlIiIKCkludDY0VmFsdWUSFAoFdmFsdWUYASABKANSBXZhbHVlIiMKC1VJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgEUgV2YWx1ZSIiCgpJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgFUgV2YWx1ZSIjCgtVSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoDVIFdmFsdWUiIQoJQm9vbFZhbHVlEhQKBXZhbHVlGAEgASgIUgV2YWx1ZSIjCgtTdHJpbmdWYWx1ZRIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUiIgoKQnl0ZXNWYWx1ZRIUCgV2YWx1ZRgBIAEoDFIFdmFsdWVCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDVdyYXBwZXJzUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vd3JhcHBlcnNwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCuIFChxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYimAEKBlN0cnVjdBI7CgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5UgZmaWVsZHMaUQoLRmllbGRzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASKyAgoFVmFsdWUSOwoKbnVsbF92YWx1ZRgBIAEoDjIaLmdvb2dsZS5wcm90b2J1Zi5OdWxsVmFsdWVIAFIJbnVsbFZhbHVlEiMKDG51bWJlcl92YWx1ZRgCIAEoAUgAUgtudW1iZXJWYWx1ZRIjCgxzdHJpbmdfdmFsdWUYAyABKAlIAFILc3RyaW5nVmFsdWUSHwoKYm9vbF92YWx1ZRgEIAEoCEgAUglib29sVmFsdWUSPAoMc3RydWN0X3ZhbHVlGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAUgtzdHJ1Y3RWYWx1ZRI7CgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAUglsaXN0VmFsdWVCBgoEa2luZCI7CglMaXN0VmFsdWUSLgoGdmFsdWVzGAEgAygLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgZ2YWx1ZXMqGwoJTnVsbFZhbHVlEg4KCk5VTExfVkFMVUUQAEJ/ChNjb20uZ29vZ2xlLnByb3RvYnVmQgtTdHJ1Y3RQcm90b1ABWi9nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9zdHJ1Y3RwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCqY+Cixwcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL29wZW5hcGl2Mi5wcm90bxIpZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMaHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8iswgKB1N3YWdnZXISGAoHc3dhZ2dlchgBIAEoCVIHc3dhZ2dlchJDCgRpbmZvGAIgASgLMi8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSW5mb1IEaW5mbxISCgRob3N0GAMgASgJUgRob3N0EhsKCWJhc2VfcGF0aBgEIAEoCVIIYmFzZVBhdGgSSwoHc2NoZW1lcxgFIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEl8KCXJlc3BvbnNlcxgKIAMoCzJBLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXIuUmVzcG9uc2VzRW50cnlSCXJlc3BvbnNlcxJxChRzZWN1cml0eV9kZWZpbml0aW9ucxgLIAEoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5RGVmaW5pdGlvbnNSE3NlY3VyaXR5RGVmaW5pdGlvbnMSWgoIc2VjdXJpdHkYDCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50UghzZWN1cml0eRJCCgR0YWdzGA0gAygLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgR0YWdzEmUKDWV4dGVybmFsX2RvY3MYDiABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxJiCgpleHRlbnNpb25zGA8gAygLMkIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJSgQICRAKItYHCglPcGVyYXRpb24SEgoEdGFncxgBIAMoCVIEdGFncxIYCgdzdW1tYXJ5GAIgASgJUgdzdW1tYXJ5EiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAQgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSIQoMb3BlcmF0aW9uX2lkGAUgASgJUgtvcGVyYXRpb25JZBIaCghjb25zdW1lcxgGIAMoCVIIY29uc3VtZXMSGgoIcHJvZHVjZXMYByADKAlSCHByb2R1Y2VzEmEKCXJlc3BvbnNlcxgJIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEksKB3NjaGVtZXMYCiADKA4yMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWVSB3NjaGVtZXMSHgoKZGVwcmVjYXRlZBgLIAEoCFIKZGVwcmVjYXRlZBJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EmQKCmV4dGVuc2lvbnMYDSADKAsyRC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb24uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zElUKCnBhcmFtZXRlcnMYDiABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5QYXJhbWV0ZXJzUgpwYXJhbWV0ZXJzGnEKDlJlc3BvbnNlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EkkKBXZhbHVlGAIgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2VSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4AUoECAgQCSJiCgpQYXJhbWV0ZXJzElQKB2hlYWRlcnMYASADKAsyOi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXJSB2hlYWRlcnMiowIKD0hlYWRlclBhcmFtZXRlchISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJTCgR0eXBlGAMgASgOMj8uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSGVhZGVyUGFyYW1ldGVyLlR5cGVSBHR5cGUSFgoGZm9ybWF0GAQgASgJUgZmb3JtYXQSGgoIcmVxdWlyZWQYBSABKAhSCHJlcXVpcmVkIkUKBFR5cGUSCwoHVU5LTk9XThAAEgoKBlNUUklORxABEgoKBk5VTUJFUhACEgsKB0lOVEVHRVIQAxILCgdCT09MRUFOEARKBAgGEAdKBAgHEAgi2AEKBkhlYWRlchIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEgoEdHlwZRgCIAEoCVIEdHlwZRIWCgZmb3JtYXQYAyABKAlSBmZvcm1hdBIYCgdkZWZhdWx0GAYgASgJUgdkZWZhdWx0EhgKB3BhdHRlcm4YDSABKAlSB3BhdHRlcm5KBAgEEAVKBAgFEAZKBAgHEAhKBAgIEAlKBAgJEApKBAgKEAtKBAgLEAxKBAgMEA1KBAgOEA9KBAgPEBBKBAgQEBFKBAgREBJKBAgSEBMimgUKCFJlc3BvbnNlEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhJJCgZzY2hlbWEYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY2hlbWFSBnNjaGVtYRJaCgdoZWFkZXJzGAMgAygLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuSGVhZGVyc0VudHJ5UgdoZWFkZXJzEl0KCGV4YW1wbGVzGAQgAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXhhbXBsZXNFbnRyeVIIZXhhbXBsZXMSYwoKZXh0ZW5zaW9ucxgFIAMoCzJDLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxptCgxIZWFkZXJzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSRwoFdmFsdWUYAiABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJSBXZhbHVlOgI4ARo7Cg1FeGFtcGxlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi1gMKBEluZm8SFAoFdGl0bGUYASABKAlSBXRpdGxlEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIoChB0ZXJtc19vZl9zZXJ2aWNlGAMgASgJUg50ZXJtc09mU2VydmljZRJMCgdjb250YWN0GAQgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuQ29udGFjdFIHY29udGFjdBJMCgdsaWNlbnNlGAUgASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuTGljZW5zZVIHbGljZW5zZRIYCgd2ZXJzaW9uGAYgASgJUgd2ZXJzaW9uEl8KCmV4dGVuc2lvbnMYByADKAsyPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJFCgdDb250YWN0EhIKBG5hbWUYASABKAlSBG5hbWUSEAoDdXJsGAIgASgJUgN1cmwSFAoFZW1haWwYAyABKAlSBWVtYWlsIi8KB0xpY2Vuc2USEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybCJLChVFeHRlcm5hbERvY3VtZW50YXRpb24SIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEhAKA3VybBgCIAEoCVIDdXJsIqoCCgZTY2hlbWESVgoLanNvbl9zY2hlbWEYASABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUgpqc29uU2NoZW1hEiQKDWRpc2NyaW1pbmF0b3IYAiABKAlSDWRpc2NyaW1pbmF0b3ISGwoJcmVhZF9vbmx5GAMgASgIUghyZWFkT25seRJlCg1leHRlcm5hbF9kb2NzGAUgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSGAoHZXhhbXBsZRgGIAEoCVIHZXhhbXBsZUoECAQQBSLXCgoKSlNPTlNjaGVtYRIQCgNyZWYYAyABKAlSA3JlZhIUCgV0aXRsZRgFIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlZmF1bHQYByABKAlSB2RlZmF1bHQSGwoJcmVhZF9vbmx5GAggASgIUghyZWFkT25seRIYCgdleGFtcGxlGAkgASgJUgdleGFtcGxlEh8KC211bHRpcGxlX29mGAogASgBUgptdWx0aXBsZU9mEhgKB21heGltdW0YCyABKAFSB21heGltdW0SKwoRZXhjbHVzaXZlX21heGltdW0YDCABKAhSEGV4Y2x1c2l2ZU1heGltdW0SGAoHbWluaW11bRgNIAEoAVIHbWluaW11bRIrChFleGNsdXNpdmVfbWluaW11bRgOIAEoCFIQZXhjbHVzaXZlTWluaW11bRIdCgptYXhfbGVuZ3RoGA8gASgEUgltYXhMZW5ndGgSHQoKbWluX2xlbmd0aBgQIAEoBFIJbWluTGVuZ3RoEhgKB3BhdHRlcm4YESABKAlSB3BhdHRlcm4SGwoJbWF4X2l0ZW1zGBQgASgEUghtYXhJdGVtcxIbCgltaW5faXRlbXMYFSABKARSCG1pbkl0ZW1zEiEKDHVuaXF1ZV9pdGVtcxgWIAEoCFILdW5pcXVlSXRlbXMSJQoObWF4X3Byb3BlcnRpZXMYGCABKARSDW1heFByb3BlcnRpZXMSJQoObWluX3Byb3BlcnRpZXMYGSABKARSDW1pblByb3BlcnRpZXMSGgoIcmVxdWlyZWQYGiADKAlSCHJlcXVpcmVkEhQKBWFycmF5GCIgAygJUgVhcnJheRJfCgR0eXBlGCMgAygOMksuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5KU09OU2NoZW1hU2ltcGxlVHlwZXNSBHR5cGUSFgoGZm9ybWF0GCQgASgJUgZmb3JtYXQSEgoEZW51bRguIAMoCVIEZW51bRJ6ChNmaWVsZF9jb25maWd1cmF0aW9uGOkHIAEoCzJILmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRmllbGRDb25maWd1cmF0aW9uUhJmaWVsZENvbmZpZ3VyYXRpb24SZQoKZXh0ZW5zaW9ucxgwIAMoCzJFLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWEuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGjwKEkZpZWxkQ29uZmlndXJhdGlvbhImCg9wYXRoX3BhcmFtX25hbWUYLyABKAlSDXBhdGhQYXJhbU5hbWUaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEidwoVSlNPTlNjaGVtYVNpbXBsZVR5cGVzEgsKB1VOS05PV04QABIJCgVBUlJBWRABEgsKB0JPT0xFQU4QAhILCgdJTlRFR0VSEAMSCAoETlVMTBAEEgoKBk5VTUJFUhAFEgoKBk9CSkVDVBAGEgoKBlNUUklORxAHSgQIARACSgQIAhADSgQIBBAFSgQIEhATSgQIExAUSgQIFxAYSgQIGxAcSgQIHBAdSgQIHRAeSgQIHhAiSgQIJRAqSgQIKhArSgQIKxAuItkCCgNUYWcSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SZQoNZXh0ZXJuYWxfZG9jcxgDIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEl4KCmV4dGVuc2lvbnMYBCADKAsyPi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWcuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIvcBChNTZWN1cml0eURlZmluaXRpb25zEmgKCHNlY3VyaXR5GAEgAygLMkwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9ucy5TZWN1cml0eUVudHJ5UghzZWN1cml0eRp2Cg1TZWN1cml0eUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ek8KBXZhbHVlGAIgASgLMjkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWVSBXZhbHVlOgI4ASL/BgoOU2VjdXJpdHlTY2hlbWUSUgoEdHlwZRgBIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLlR5cGVSBHR5cGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhIKBG5hbWUYAyABKAlSBG5hbWUSTAoCaW4YBCABKA4yPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5JblICaW4SUgoEZmxvdxgFIAEoDjI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkZsb3dSBGZsb3cSKwoRYXV0aG9yaXphdGlvbl91cmwYBiABKAlSEGF1dGhvcml6YXRpb25VcmwSGwoJdG9rZW5fdXJsGAcgASgJUgh0b2tlblVybBJJCgZzY29wZXMYCCABKAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXNSBnNjb3BlcxJpCgpleHRlbnNpb25zGAkgAygLMkkuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIksKBFR5cGUSEAoMVFlQRV9JTlZBTElEEAASDgoKVFlQRV9CQVNJQxABEhAKDFRZUEVfQVBJX0tFWRACEg8KC1RZUEVfT0FVVEgyEAMiMQoCSW4SDgoKSU5fSU5WQUxJRBAAEgwKCElOX1FVRVJZEAESDQoJSU5fSEVBREVSEAIiagoERmxvdxIQCgxGTE9XX0lOVkFMSUQQABIRCg1GTE9XX0lNUExJQ0lUEAESEQoNRkxPV19QQVNTV09SRBACEhQKEEZMT1dfQVBQTElDQVRJT04QAxIUChBGTE9XX0FDQ0VTU19DT0RFEAQi9gIKE1NlY3VyaXR5UmVxdWlyZW1lbnQSigEKFHNlY3VyaXR5X3JlcXVpcmVtZW50GAEgAygLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50RW50cnlSE3NlY3VyaXR5UmVxdWlyZW1lbnQaMAoYU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlEhQKBXNjb3BlGAEgAygJUgVzY29wZRqfAQoYU2VjdXJpdHlSZXF1aXJlbWVudEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Em0KBXZhbHVlGAIgASgLMlcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1cml0eVJlcXVpcmVtZW50VmFsdWVSBXZhbHVlOgI4ASKWAQoGU2NvcGVzElIKBXNjb3BlGAEgAygLMjwuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NvcGVzLlNjb3BlRW50cnlSBXNjb3BlGjgKClNjb3BlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASo7CgZTY2hlbWUSCwoHVU5LTk9XThAAEggKBEhUVFAQARIJCgVIVFRQUxACEgYKAldTEAMSBwoDV1NTEARCSFpGZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9ncnBjLWdhdGV3YXkvdjIvcHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9uc2IGcHJvdG8zCv0GCi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8aLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvOn4KEW9wZW5hcGl2Ml9zd2FnZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJIIIAEoCzIyLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlN3YWdnZXJSEG9wZW5hcGl2MlN3YWdnZXI6hgEKE29wZW5hcGl2Ml9vcGVyYXRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiSCCABKAsyNC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5PcGVyYXRpb25SEm9wZW5hcGl2Mk9wZXJhdGlvbjp+ChBvcGVuYXBpdjJfc2NoZW1hEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJIIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIPb3BlbmFwaXYyU2NoZW1hOnUKDW9wZW5hcGl2Ml90YWcSHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYkgggASgLMi4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuVGFnUgxvcGVuYXBpdjJUYWc6fgoPb3BlbmFwaXYyX2ZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiSCCABKAsyNS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hUg5vcGVuYXBpdjJGaWVsZEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMKkgEKGXByb3RvL2NvbW1vbi9zdHJpbmcucHJvdG8SEGJ1Y2tldGVlci5jb21tb24iKQoPU3RyaW5nTGlzdFZhbHVlEhYKBnZhbHVlcxgBIAMoCVIGdmFsdWVzQjBaLmdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9jb21tb25iBnByb3RvMwrABAoVcHJvdG8vdXNlci91c2VyLnByb3RvEg5idWNrZXRlZXIudXNlciLeAwoEVXNlchIOCgJpZBgBIAEoCVICaWQSMgoEZGF0YRgCIAMoCzIeLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YUVudHJ5UgRkYXRhEkUKC3RhZ2dlZF9kYXRhGAMgAygLMiQuYnVja2V0ZWVyLnVzZXIuVXNlci5UYWdnZWREYXRhRW50cnlSCnRhZ2dlZERhdGESGwoJbGFzdF9zZWVuGAQgASgDUghsYXN0U2VlbhIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQafAoERGF0YRI6CgV2YWx1ZRgBIAMoCzIkLmJ1Y2tldGVlci51c2VyLlVzZXIuRGF0YS5WYWx1ZUVudHJ5UgV2YWx1ZRo4CgpWYWx1ZUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaNwoJRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEaWAoPVGFnZ2VkRGF0YUVudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei8KBXZhbHVlGAIgASgLMhkuYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhUgV2YWx1ZToCOAFCLlosZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL3VzZXJiBnByb3RvMwqiAgodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlImcKCVZhcmlhdGlvbhIOCgJpZBgBIAEoCVICaWQSFAoFdmFsdWUYAiABKAlSBXZhbHVlEhIKBG5hbWUYAyABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIkoKElZhcmlhdGlvbkxpc3RWYWx1ZRI0CgZ2YWx1ZXMYASADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SBnZhbHVlc0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCp4CChpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUisQEKBlJlYXNvbhIyCgR0eXBlGAEgASgOMh4uYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uLlR5cGVSBHR5cGUSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIloKBFR5cGUSCgoGVEFSR0VUEAASCAoEUlVMRRABEgsKB0RFRkFVTFQQAxIKCgZDTElFTlQQBBIRCg1PRkZfVkFSSUFUSU9OEAUSEAoMUFJFUkVRVUlTSVRFEAZCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqYBgoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8aGnByb3RvL2ZlYXR1cmUvcmVhc29uLnByb3RvIuMCCgpFdmFsdWF0aW9uEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhIXCgd1c2VyX2lkGAQgASgJUgZ1c2VySWQSIQoMdmFyaWF0aW9uX2lkGAUgASgJUgt2YXJpYXRpb25JZBI+Cgl2YXJpYXRpb24YBiABKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25CAhgBUgl2YXJpYXRpb24SMQoGcmVhc29uGAcgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuUmVhc29uUgZyZWFzb24SJwoPdmFyaWF0aW9uX3ZhbHVlGAggASgJUg52YXJpYXRpb25WYWx1ZRIlCg52YXJpYXRpb25fbmFtZRgJIAEoCVINdmFyaWF0aW9uTmFtZSKGAgoPVXNlckV2YWx1YXRpb25zEhIKAmlkGAEgASgJQgIYAVICaWQSPwoLZXZhbHVhdGlvbnMYAiADKAsyHS5idWNrZXRlZXIuZmVhdHVyZS5FdmFsdWF0aW9uUgtldmFsdWF0aW9ucxIdCgpjcmVhdGVkX2F0GAMgASgDUgljcmVhdGVkQXQSMAoUYXJjaGl2ZWRfZmVhdHVyZV9pZHMYBCADKAlSEmFyY2hpdmVkRmVhdHVyZUlkcxIhCgxmb3JjZV91cGRhdGUYBSABKAhSC2ZvcmNlVXBkYXRlIioKBVN0YXRlEgoKBlFVRVVFRBAAEgsKB1BBUlRJQUwQARIICgRGVUxMEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrHAwoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlItoCCgZDbGF1c2USDgoCaWQYASABKAlSAmlkEhwKCWF0dHJpYnV0ZRgCIAEoCVIJYXR0cmlidXRlEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchIWCgZ2YWx1ZXMYBCADKAlSBnZhbHVlcyLJAQoIT3BlcmF0b3ISCgoGRVFVQUxTEAASBgoCSU4QARINCglFTkRTX1dJVEgQAhIPCgtTVEFSVFNfV0lUSBADEgsKB1NFR01FTlQQBBILCgdHUkVBVEVSEAUSFAoQR1JFQVRFUl9PUl9FUVVBTBAGEggKBExFU1MQBxIRCg1MRVNTX09SX0VRVUFMEAgSCgoGQkVGT1JFEAkSCQoFQUZURVIQChIQCgxGRUFUVVJFX0ZMQUcQCxITCg9QQVJUSUFMTFlfTUFUQ0gQDEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCrsEChxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSItCg1GaXhlZFN0cmF0ZWd5EhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uIqIBCg9Sb2xsb3V0U3RyYXRlZ3kSTAoKdmFyaWF0aW9ucxgBIAMoCzIsLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneS5WYXJpYXRpb25SCnZhcmlhdGlvbnMaQQoJVmFyaWF0aW9uEhwKCXZhcmlhdGlvbhgBIAEoCVIJdmFyaWF0aW9uEhYKBndlaWdodBgCIAEoBVIGd2VpZ2h0IvgBCghTdHJhdGVneRI0CgR0eXBlGAEgASgOMiAuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3kuVHlwZVIEdHlwZRJHCg5maXhlZF9zdHJhdGVneRgCIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLkZpeGVkU3RyYXRlZ3lSDWZpeGVkU3RyYXRlZ3kSTQoQcm9sbG91dF9zdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIPcm9sbG91dFN0cmF0ZWd5Ih4KBFR5cGUSCQoFRklYRUQQABILCgdST0xMT1VUEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrrAgoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aHHByb3RvL2ZlYXR1cmUvc3RyYXRlZ3kucHJvdG8ihAEKBFJ1bGUSDgoCaWQYASABKAlSAmlkEjcKCHN0cmF0ZWd5GAIgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5EjMKB2NsYXVzZXMYAyADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2VSB2NsYXVzZXMiQAoNUnVsZUxpc3RWYWx1ZRIvCgZ2YWx1ZXMYASADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgZ2YWx1ZXNCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwruAQoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIjwKBlRhcmdldBIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIUCgV1c2VycxgCIAMoCVIFdXNlcnMiRAoPVGFyZ2V0TGlzdFZhbHVlEjEKBnZhbHVlcxgBIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK9AIKKnByb3RvL2ZlYXR1cmUvZmVhdHVyZV9sYXN0X3VzZWRfaW5mby5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi9wEKE0ZlYXR1cmVMYXN0VXNlZEluZm8SHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhgKB3ZlcnNpb24YAiABKAVSB3ZlcnNpb24SIAoMbGFzdF91c2VkX2F0GAMgASgDUgpsYXN0VXNlZEF0Eh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIyChVjbGllbnRfb2xkZXN0X3ZlcnNpb24YBSABKAlSE2NsaWVudE9sZGVzdFZlcnNpb24SMgoVY2xpZW50X2xhdGVzdF92ZXJzaW9uGAYgASgJUhNjbGllbnRMYXRlc3RWZXJzaW9uQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKlAIKIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJQCgxQcmVyZXF1aXNpdGUSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiUAoVUHJlcmVxdWlzaXRlTGlzdFZhbHVlEjcKBnZhbHVlcxgBIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5A0KG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvIp4ICgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQSSgoPc2NoZWR1bGVfdXBkYXRlGBcgAygLMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2NoZWR1bGVVcGRhdGVSDnNjaGVkdWxlVXBkYXRlIj4KDVZhcmlhdGlvblR5cGUSCgoGU1RSSU5HEAASCwoHQk9PTEVBThABEgoKBk5VTUJFUhACEggKBEpTT04QAyJSCghGZWF0dXJlcxI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEg4KAmlkGAIgASgJUgJpZCJzChJFbnZpcm9ubWVudEZlYXR1cmUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyJnCgNUYWcSDgoCaWQYASABKAlSAmlkEh0KCmNyZWF0ZWRfYXQYAiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgEIAEoCVIEbmFtZSJjCg5TY2hlZHVsZVVwZGF0ZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZRIbCgl1cGRhdGVfYXQYAiABKANSCHVwZGF0ZUF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK6AMKH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8SCmdvb2dsZS5hcGkaIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvKrYBCg1GaWVsZEJlaGF2aW9yEh4KGkZJRUxEX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASDAoIT1BUSU9OQUwQARIMCghSRVFVSVJFRBACEg8KC09VVFBVVF9PTkxZEAMSDgoKSU5QVVRfT05MWRAEEg0KCUlNTVVUQUJMRRAFEhIKDlVOT1JERVJFRF9MSVNUEAYSFQoRTk9OX0VNUFRZX0RFRkFVTFQQBxIOCgpJREVOVElGSUVSEAg6ZAoOZmllbGRfYmVoYXZpb3ISHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJwIIAMoDjIZLmdvb2dsZS5hcGkuRmllbGRCZWhhdmlvckICEABSDWZpZWxkQmVoYXZpb3JCcAoOY29tLmdvb2dsZS5hcGlCEkZpZWxkQmVoYXZpb3JQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMwrkAQoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjYKA0FueRIZCgh0eXBlX3VybBgBIAEoCVIHdHlwZVVybBIUCgV2YWx1ZRgCIAEoDFIFdmFsdWVCdgoTY29tLmdvb2dsZS5wcm90b2J1ZkIIQW55UHJvdG9QAVosZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vYW55cGKiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwq1CAobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8itAQKB1NlZ21lbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEi0KBXJ1bGVzGAQgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIcCgd2ZXJzaW9uGAcgASgDQgIYAVIHdmVyc2lvbhIYCgdkZWxldGVkGAggASgIUgdkZWxldGVkEi4KE2luY2x1ZGVkX3VzZXJfY291bnQYCSABKANSEWluY2x1ZGVkVXNlckNvdW50EjIKE2V4Y2x1ZGVkX3VzZXJfY291bnQYCiABKANCAhgBUhFleGNsdWRlZFVzZXJDb3VudBI5CgZzdGF0dXMYCyABKA4yIS5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50LlN0YXR1c1IGc3RhdHVzEicKEGlzX2luX3VzZV9zdGF0dXMYDCABKAhSDWlzSW5Vc2VTdGF0dXMSNgoIZmVhdHVyZXMYDSADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyI+CgZTdGF0dXMSCwoHSU5JVElBTBAAEg0KCVVQTE9BRElORxABEgwKCFNVQ0VFREVEEAISCgoGRkFJTEVEEAMi1AEKC1NlZ21lbnRVc2VyEg4KAmlkGAEgASgJUgJpZBIdCgpzZWdtZW50X2lkGAIgASgJUglzZWdtZW50SWQSFwoHdXNlcl9pZBgDIAEoCVIGdXNlcklkEjoKBXN0YXRlGAQgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQiJwoFU3RhdGUSDAoISU5DTFVERUQQABIQCghFWENMVURFRBABGgIIASKCAQoMU2VnbWVudFVzZXJzEh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBI0CgV1c2VycxgCIAMoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyUgV1c2VycxIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqgBQogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIq0ECgtGbGFnVHJpZ2dlchIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEjcKBHR5cGUYBCABKA4yIy5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5UeXBlUgR0eXBlEj0KBmFjdGlvbhgFIAEoDjIlLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLkFjdGlvblIGYWN0aW9uEiAKC2Rlc2NyaXB0aW9uGAYgASgJUgtkZXNjcmlwdGlvbhIjCg10cmlnZ2VyX2NvdW50GAcgASgFUgx0cmlnZ2VyQ291bnQSKgoRbGFzdF90cmlnZ2VyZWRfYXQYCCABKANSD2xhc3RUcmlnZ2VyZWRBdBIUCgV0b2tlbhgJIAEoCVIFdG9rZW4SGgoIZGlzYWJsZWQYCiABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCyABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAwgASgDUgl1cGRhdGVkQXQSJQoOZW52aXJvbm1lbnRfaWQYDSABKAlSDWVudmlyb25tZW50SWQiKgoEVHlwZRIQCgxUeXBlX1VOS05PV04QABIQCgxUeXBlX1dFQkhPT0sQASI7CgZBY3Rpb24SEgoOQWN0aW9uX1VOS05PV04QABINCglBY3Rpb25fT04QARIOCgpBY3Rpb25fT0ZGEAJKBAgDEARCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwrAIwobcHJvdG8vZmVhdHVyZS9jb21tYW5kLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvGiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90byI5CgdDb21tYW5kEi4KB2NvbW1hbmQYASABKAsyFC5nb29nbGUucHJvdG9idWYuQW55Ugdjb21tYW5kIrUDChRDcmVhdGVGZWF0dXJlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SPAoKdmFyaWF0aW9ucxgEIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxISCgR0YWdzGAUgAygJUgR0YWdzElgKGmRlZmF1bHRfb25fdmFyaWF0aW9uX2luZGV4GAYgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSF2RlZmF1bHRPblZhcmlhdGlvbkluZGV4EloKG2RlZmF1bHRfb2ZmX3ZhcmlhdGlvbl9pbmRleBgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhhkZWZhdWx0T2ZmVmFyaWF0aW9uSW5kZXgSTwoOdmFyaWF0aW9uX3R5cGUYCCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUiFwoVQXJjaGl2ZUZlYXR1cmVDb21tYW5kIhkKF1VuYXJjaGl2ZUZlYXR1cmVDb21tYW5kIhYKFERlbGV0ZUZlYXR1cmVDb21tYW5kIioKFFJlbmFtZUZlYXR1cmVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiPAoYQ2hhbmdlRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiK4AQopQ2hhbmdlQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1N0YXR1c0NvbW1hbmQSOQoGc3RhdHVzGAEgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIUCgVjb3VudBgDIAEoA1IFY291bnQiIQoNQWRkVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIkChBSZW1vdmVUYWdDb21tYW5kEhAKA3RhZxgBIAEoCVIDdGFnIhYKFEVuYWJsZUZlYXR1cmVDb21tYW5kIhcKFURpc2FibGVGZWF0dXJlQ29tbWFuZCJhChNBZGRWYXJpYXRpb25Db21tYW5kEhQKBXZhbHVlGAEgASgJUgV2YWx1ZRISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbiIoChZSZW1vdmVWYXJpYXRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZCJDChtDaGFuZ2VWYXJpYXRpb25WYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhQKBXZhbHVlGAIgASgJUgV2YWx1ZSJAChpDaGFuZ2VWYXJpYXRpb25OYW1lQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJVCiFDaGFuZ2VWYXJpYXRpb25EZXNjcmlwdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiIrChlDaGFuZ2VPZmZWYXJpYXRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZCI/ChlBZGRVc2VyVG9WYXJpYXRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBISCgR1c2VyGAIgASgJUgR1c2VyIkQKHlJlbW92ZVVzZXJGcm9tVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJXChxDaGFuZ2VEZWZhdWx0U3RyYXRlZ3lDb21tYW5kEjcKCHN0cmF0ZWd5GAEgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5Ij0KDkFkZFJ1bGVDb21tYW5kEisKBHJ1bGUYASABKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgRydWxlIn0KGUNoYW5nZVJ1bGVTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI3CghzdHJhdGVneRgDIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI0ChdDaGFuZ2VSdWxlc09yZGVyQ29tbWFuZBIZCghydWxlX2lkcxgCIAMoCVIHcnVsZUlkcyIjChFEZWxldGVSdWxlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiXgoQQWRkQ2xhdXNlQ29tbWFuZBIXCgdydWxlX2lkGAEgASgJUgZydWxlSWQSMQoGY2xhdXNlGAIgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgZjbGF1c2UiPgoTRGVsZXRlQ2xhdXNlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkImUKHENoYW5nZUNsYXVzZUF0dHJpYnV0ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIcCglhdHRyaWJ1dGUYAyABKAlSCWF0dHJpYnV0ZSKGAQobQ2hhbmdlQ2xhdXNlT3BlcmF0b3JDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSPgoIb3BlcmF0b3IYAyABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yIlYKFUFkZENsYXVzZVZhbHVlQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEhQKBXZhbHVlGAMgASgJUgV2YWx1ZSJZChhSZW1vdmVDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUigwEKGkNoYW5nZUZpeGVkU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSPAoIc3RyYXRlZ3kYAyABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5UghzdHJhdGVneSKHAQocQ2hhbmdlUm9sbG91dFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCHN0cmF0ZWd5GAMgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuUm9sbG91dFN0cmF0ZWd5UghzdHJhdGVneSJMChRDcmVhdGVTZWdtZW50Q29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiIWChREZWxldGVTZWdtZW50Q29tbWFuZCIuChhDaGFuZ2VTZWdtZW50TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJDCh9DaGFuZ2VTZWdtZW50RGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiJuChVBZGRTZWdtZW50VXNlckNvbW1hbmQSGQoIdXNlcl9pZHMYASADKAlSB3VzZXJJZHMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUicQoYRGVsZXRlU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIm8KHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNDb21tYW5kEhIKBGRhdGEYASABKAxSBGRhdGESOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUiIAoeSW5jcmVtZW50RmVhdHVyZVZlcnNpb25Db21tYW5kIkIKE0Nsb25lRmVhdHVyZUNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiGgoYUmVzZXRTYW1wbGluZ1NlZWRDb21tYW5kIl0KFkFkZFByZXJlcXVpc2l0ZUNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUiOgoZUmVtb3ZlUHJlcmVxdWlzaXRlQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQiaQoiQ2hhbmdlUHJlcmVxdWlzaXRlVmFyaWF0aW9uQ29tbWFuZBJDCgxwcmVyZXF1aXNpdGUYASABKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDHByZXJlcXVpc2l0ZSLTAQoYQ3JlYXRlRmxhZ1RyaWdnZXJDb21tYW5kEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAIgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YAyABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24iGQoXUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmQiRwojQ2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uIhoKGEVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIbChlEaXNhYmxlRmxhZ1RyaWdnZXJDb21tYW5kIhoKGERlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZCIfCh1VcGRhdGVGbGFnVHJpZ2dlclVzYWdlQ29tbWFuZEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCsiYAQobcHJvdG8vZmVhdHVyZS9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhlwcm90by9jb21tb24vc3RyaW5nLnByb3RvGhtwcm90by9mZWF0dXJlL2NvbW1hbmQucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvGhVwcm90by91c2VyL3VzZXIucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhpwcm90by9mZWF0dXJlL3RhcmdldC5wcm90byJQChFHZXRGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0RmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIlMKEkdldEZlYXR1cmVzUmVxdWVzdBIQCgNpZHMYAiADKAlSA2lkcxIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJNChNHZXRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMi9QUKE0xpc3RGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEkkKCG9yZGVyX2J5GAQgASgOMi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El4KD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI1LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEh4KCm1haW50YWluZXIYByABKAlSCm1haW50YWluZXISNAoHZW5hYmxlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSQQoOaGFzX2V4cGVyaW1lbnQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1oYXNFeHBlcmltZW50EiUKDnNlYXJjaF9rZXl3b3JkGAogASgJUg1zZWFyY2hLZXl3b3JkEjYKCGFyY2hpdmVkGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSRwoRaGFzX3ByZXJlcXVpc2l0ZXMYDCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhBoYXNQcmVyZXF1aXNpdGVzEiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIlcKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBFRBR1MQBBILCgdFTkFCTEVEEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIBhAHIocBChRMaXN0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IpIBChpMaXN0RW5hYmxlZEZlYXR1cmVzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEhIKBHRhZ3MYAyADKAlSBHRhZ3MSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUibQobTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3IihgEKFENyZWF0ZUZlYXR1cmVSZXF1ZXN0EkEKB2NvbW1hbmQYASABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJNChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUi0AYKFFVwZGF0ZUZlYXR1cmVSZXF1ZXN0EhgKB2NvbW1lbnQYASABKAlSB2NvbW1lbnQSKgoOZW52aXJvbm1lbnRfaWQYAiABKAlCA+BBAlINZW52aXJvbm1lbnRJZBITCgJpZBgDIAEoCUID4EECUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhI1CgR0YWdzGAYgASgLMiEuYnVja2V0ZWVyLmNvbW1vbi5TdHJpbmdMaXN0VmFsdWVSBHRhZ3MSNAoHZW5hYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSNgoIYXJjaGl2ZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghhcmNoaXZlZBJFCgp2YXJpYXRpb25zGAkgASgLMiUuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uTGlzdFZhbHVlUgp2YXJpYXRpb25zEk4KDXByZXJlcXVpc2l0ZXMYCiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVMaXN0VmFsdWVSDXByZXJlcXVpc2l0ZXMSPAoHdGFyZ2V0cxgLIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldExpc3RWYWx1ZVIHdGFyZ2V0cxI2CgVydWxlcxgMIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVMaXN0VmFsdWVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYDSABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EkEKDW9mZl92YXJpYXRpb24YDiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDG9mZlZhcmlhdGlvbhIuChNyZXNldF9zYW1wbGluZ19zZWVkGA8gASgIUhFyZXNldFNhbXBsaW5nU2VlZCJNChVVcGRhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUisAEKFEVuYWJsZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVFbmFibGVGZWF0dXJlUmVzcG9uc2UisgEKFURpc2FibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkRpc2FibGVGZWF0dXJlUmVzcG9uc2UisgEKFUFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkFyY2hpdmVGZWF0dXJlUmVzcG9uc2UitgEKF1VuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJECgdjb21tYW5kGAIgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIaChhVbmFyY2hpdmVGZWF0dXJlUmVzcG9uc2UisAEKFERlbGV0ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVEZWxldGVGZWF0dXJlUmVzcG9uc2Ui3wMKG1VwZGF0ZUZlYXR1cmVEZXRhaWxzUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSXQoWcmVuYW1lX2ZlYXR1cmVfY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLlJlbmFtZUZlYXR1cmVDb21tYW5kUhRyZW5hbWVGZWF0dXJlQ29tbWFuZBJpChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZFIYY2hhbmdlRGVzY3JpcHRpb25Db21tYW5kEkoKEGFkZF90YWdfY29tbWFuZHMYBCADKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5BZGRUYWdDb21tYW5kUg5hZGRUYWdDb21tYW5kcxJTChNyZW1vdmVfdGFnX2NvbW1hbmRzGAUgAygLMiMuYnVja2V0ZWVyLmZlYXR1cmUuUmVtb3ZlVGFnQ29tbWFuZFIRcmVtb3ZlVGFnQ29tbWFuZHMSGAoHY29tbWVudBgHIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgIIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByIeChxVcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIq8BCh5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIhCh9VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1Jlc3BvbnNlIqECCh1VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSNgoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kUghjb21tYW5kcxIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EkkKBGZyb20YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdC5Gcm9tUgRmcm9tEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkIiYKBEZyb20SCwoHVU5LTk9XThAAEggKBFVTRVIQARIHCgNPUFMQAkoECAMQBCIgCh5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVzcG9uc2UilAEKE0Nsb25lRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkAKB2NvbW1hbmQYAiABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhYKFENsb25lRmVhdHVyZVJlc3BvbnNlItkBChRDcmVhdGVTZWdtZW50UmVxdWVzdBJUCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEhcKBG5hbWUYAyABKAlCA+BBAlIEbmFtZRIqCg5lbnZpcm9ubWVudF9pZBgEIAEoCUID4EECUg1lbnZpcm9ubWVudElkEiAKC2Rlc2NyaXB0aW9uGAUgASgJUgtkZXNjcmlwdGlvbkoECAIQAyJNChVDcmVhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiWgoRR2V0U2VnbWVudFJlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZEoECAIQAyJKChJHZXRTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiywQKE0xpc3RTZWdtZW50c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIzCgZzdGF0dXMYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIGc3RhdHVzEkMKEGlzX2luX3VzZV9zdGF0dXMYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1pc0luVXNlU3RhdHVzEioKDmVudmlyb25tZW50X2lkGAkgASgJQgPgQQJSDWVudmlyb25tZW50SWQiXAoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSDwoLQ09OTkVDVElPTlMQBBIJCgVVU0VSUxAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIrMBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0EiIKCnNlZ21lbnRfaWQYAiABKAlCA+BBAlIJc2VnbWVudElkEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEioKDmVudmlyb25tZW50X2lkGAQgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgBEAIiNgogQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2USEgoEZGF0YRgBIAEoDFIEZGF0YSKhAQoXRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QSKAoEdXNlchgBIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISEAoDdGFnGAMgASgJUgN0YWcSHQoKZmVhdHVyZV9pZBgEIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAhADImkKGEV2YWx1YXRlRmVhdHVyZXNSZXNwb25zZRJNChB1c2VyX2V2YWx1YXRpb25zGAEgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUg91c2VyRXZhbHVhdGlvbnMirAMKD0xpc3RUYWdzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkUKCG9yZGVyX2J5GAQgASgOMiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjEuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCJICgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAEQAiJ3ChBMaXN0VGFnc1Jlc3BvbnNlEioKBHRhZ3MYASADKAsyFi5idWNrZXRlZXIuZmVhdHVyZS5UYWdSBHRhZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiswEKGENyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBJqChtjcmVhdGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlckNvbW1hbmRSGGNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJwChlDcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCLDAQoYRGVsZXRlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtkZWxldGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlckNvbW1hbmRSGGRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlEZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIuYBChhVcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEowBCidjaGFuZ2VfZmxhZ190cmlnZ2VyX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyNi5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZFIjY2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZVXBkYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSLDAQoYRW5hYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtlbmFibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlckNvbW1hbmRSGGVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlFbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIscBChlEaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJtChxkaXNhYmxlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIZZGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIcChpEaXNhYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSK/AQoXUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmcKGnJlc2V0X2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmRSF3Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm8KGFJlc2V0RmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiVAoVR2V0RmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJtChZHZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCKqAwoXTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEhsKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSTQoIb3JkZXJfYnkYBSABKA4yMi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmIKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI5LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCI2CgdPcmRlckJ5EgsKB0RFRkFVTFQQABIOCgpDUkVBVEVEX0FUEAESDgoKVVBEQVRFRF9BVBACIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAIQAyKjAgoYTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlEmMKDWZsYWdfdHJpZ2dlcnMYASADKAsyPi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UuRmxhZ1RyaWdnZXJXaXRoVXJsUgxmbGFnVHJpZ2dlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQaaQoSRmxhZ1RyaWdnZXJXaXRoVXJsEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCIxChlGbGFnVHJpZ2dlcldlYmhvb2tSZXF1ZXN0EhQKBXRva2VuGAEgASgJUgV0b2tlbiIcChpGbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZTKaOQoORmVhdHVyZVNlcnZpY2USWwoKR2V0RmVhdHVyZRIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlc3BvbnNlIgASXgoLR2V0RmVhdHVyZXMSJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1JlcXVlc3QaJi5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1Jlc3BvbnNlIgASYQoMTGlzdEZlYXR1cmVzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIgASdgoTTGlzdEVuYWJsZWRGZWF0dXJlcxItLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RFbmFibGVkRmVhdHVyZXNSZXF1ZXN0Gi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlIgASZAoNQ3JlYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlIgASZAoNVXBkYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIgASZwoNRW5hYmxlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESagoORGlzYWJsZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESZwoOQXJjaGl2ZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASbQoQVW5hcmNoaXZlRmVhdHVyZRIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASZAoNRGVsZXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlc3BvbnNlIgASeQoUVXBkYXRlRmVhdHVyZURldGFpbHMSLi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QaLy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIgASggEKF1VwZGF0ZUZlYXR1cmVWYXJpYXRpb25zEjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0GjIuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSIAEn8KFlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmcSMC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXNwb25zZSIAEmEKDENsb25lRmVhdHVyZRImLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVSZXNwb25zZSIAEqYECg1DcmVhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZDcmVhdGUaEUNyZWF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQIgsvdjEvc2VnbWVudDoBKhKRBAoKR2V0U2VnbWVudBIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlc3BvbnNlIrUDkkGeAwoHc2VnbWVudBIDR2V0Gg5HZXQgYSBzZWdtZW50LioSd2ViLnYxLnNlZ21lbnQuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDRILL3YxL3NlZ21lbnQSmgQKDExpc3RTZWdtZW50cxImLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXNwb25zZSK4A5JBoAMKB3NlZ21lbnQSBExpc3QaDkxpc3Qgc2VnbWVudHMuKhN3ZWIudjEuc2VnbWVudC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDhIML3YxL3NlZ21lbnRzEqMECg1EZWxldGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVzcG9uc2UivgOSQacDCgdzZWdtZW50EgZEZWxldGUaEURlbGV0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINKgsvdjEvc2VnbWVudBKmBAoNVXBkYXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlc3BvbnNlIsEDkkGnAwoHc2VnbWVudBIGVXBkYXRlGhFVcGRhdGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEDILL3YxL3NlZ21lbnQ6ASoSagoOQWRkU2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgEScwoRRGVsZXRlU2VnbWVudFVzZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESagoOR2V0U2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESbQoQTGlzdFNlZ21lbnRVc2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50VXNlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIgAS7AQKFkJ1bGtVcGxvYWRTZWdtZW50VXNlcnMSMC5idWNrZXRlZXIuZmVhdHVyZS5CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSLsA5JBwAMKB3NlZ21lbnQSC0J1bGsgdXBsb2FkGhpCdWxrIHVwbG9hZCBzZWdtZW50IHVzZXJzLiogd2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa191cGxvYWRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiIh0vdjEvc2VnbWVudF91c2Vycy9idWxrX3VwbG9hZDoBKhL3BAoYQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzEjIuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVxdWVzdBozLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIvEDkkHGAwoHc2VnbWVudBINQnVsayBkb3dubG9hZBocQnVsayBkb3dubG9hZCBzZWdtZW50IHVzZXJzLioid2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa19kb3dubG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9zZWdtZW50X3VzZXJzL2J1bGtfZG93bmxvYWQSbQoQRXZhbHVhdGVGZWF0dXJlcxIqLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRlRmVhdHVyZXNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlIgASVQoITGlzdFRhZ3MSIi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QaIy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1Jlc3BvbnNlIgAScAoRQ3JlYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRVXBkYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRW5hYmxlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScwoSRGlzYWJsZUZsYWdUcmlnZ2VyEiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQUmVzZXRGbGFnVHJpZ2dlchIqLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRGVsZXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASZwoOR2V0RmxhZ1RyaWdnZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQTGlzdEZsYWdUcmlnZ2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlIgASlAEKEkZsYWdUcmlnZ2VyV2ViaG9vaxIsLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QaLS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZSIhgtPkkwIbIhkvd2ViaG9vay90cmlnZ2Vycy97dG9rZW59QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKnAMKFXByb3RvL3B1c2gvcHVzaC5wcm90bxIOYnVja2V0ZWVyLnB1c2giugIKBFB1c2gSDgoCaWQYASABKAlSAmlkEhIKBHRhZ3MYAyADKAlSBHRhZ3MSGAoHZGVsZXRlZBgEIAEoCFIHZGVsZXRlZBISCgRuYW1lGAUgASgJUgRuYW1lEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSLgoTZmNtX3NlcnZpY2VfYWNjb3VudBgIIAEoCVIRZmNtU2VydmljZUFjY291bnQSGgoIZGlzYWJsZWQYCSABKAhSCGRpc2FibGVkEiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkEikKEGVudmlyb25tZW50X25hbWUYCyABKAlSD2Vudmlyb25tZW50TmFtZUoECAIQA0IuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vcHVzaGIGcHJvdG8zCuoCChhwcm90by9wdXNoL2NvbW1hbmQucHJvdG8SDmJ1Y2tldGVlci5wdXNoInEKEUNyZWF0ZVB1c2hDb21tYW5kEhIKBHRhZ3MYAiADKAlSBHRhZ3MSEgoEbmFtZRgDIAEoCVIEbmFtZRIuChNmY21fc2VydmljZV9hY2NvdW50GAQgASgMUhFmY21TZXJ2aWNlQWNjb3VudEoECAEQAiIoChJBZGRQdXNoVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyIrChVEZWxldGVQdXNoVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyITChFEZWxldGVQdXNoQ29tbWFuZCInChFSZW5hbWVQdXNoQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lQi5aLGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9wdXNoYgZwcm90bzMKySEKGHByb3RvL3B1c2gvc2VydmljZS5wcm90bxIOYnVja2V0ZWVyLnB1c2gaHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90bxoVcHJvdG8vcHVzaC9wdXNoLnByb3RvGhhwcm90by9wdXNoL2NvbW1hbmQucHJvdG8i2QEKEUNyZWF0ZVB1c2hSZXF1ZXN0Ej8KB2NvbW1hbmQYAiABKAsyIS5idWNrZXRlZXIucHVzaC5DcmVhdGVQdXNoQ29tbWFuZEICGAFSB2NvbW1hbmQSEgoEdGFncxgDIAMoCVIEdGFncxISCgRuYW1lGAQgASgJUgRuYW1lEi4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYBSABKAxSEWZjbVNlcnZpY2VBY2NvdW50EiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkSgQIARACIj4KEkNyZWF0ZVB1c2hSZXNwb25zZRIoCgRwdXNoGAEgASgLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIEcHVzaCKhBAoRTGlzdFB1c2hlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAIgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAyABKAlSBmN1cnNvchJECghvcmRlcl9ieRgEIAEoDjIpLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWQoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjAuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEiUKDmVudmlyb25tZW50X2lkGAcgASgJUg1lbnZpcm9ubWVudElkEicKD29yZ2FuaXphdGlvbl9pZBgIIAEoCVIOb3JnYW5pemF0aW9uSWQSNgoIZGlzYWJsZWQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZCJcCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIICgROQU1FEAESDgoKQ1JFQVRFRF9BVBACEg4KClVQREFURURfQVQQAxIPCgtFTlZJUk9OTUVOVBAEEgkKBVNUQVRFEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIARACInsKEkxpc3RQdXNoZXNSZXNwb25zZRIsCgZwdXNoZXMYASADKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgZwdXNoZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQijQEKEURlbGV0ZVB1c2hSZXF1ZXN0Eg4KAmlkGAIgASgJUgJpZBI7Cgdjb21tYW5kGAMgASgLMiEuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaENvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgBEAIiFAoSRGVsZXRlUHVzaFJlc3BvbnNlIu4DChFVcGRhdGVQdXNoUmVxdWVzdBITCgJpZBgCIAEoCUID4EECUgJpZBJZChVhZGRfcHVzaF90YWdzX2NvbW1hbmQYAyABKAsyIi5idWNrZXRlZXIucHVzaC5BZGRQdXNoVGFnc0NvbW1hbmRCAhgBUhJhZGRQdXNoVGFnc0NvbW1hbmQSYgoYZGVsZXRlX3B1c2hfdGFnc19jb21tYW5kGAQgASgLMiUuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaFRhZ3NDb21tYW5kQgIYAVIVZGVsZXRlUHVzaFRhZ3NDb21tYW5kElUKE3JlbmFtZV9wdXNoX2NvbW1hbmQYBSABKAsyIS5idWNrZXRlZXIucHVzaC5SZW5hbWVQdXNoQ29tbWFuZEICGAFSEXJlbmFtZVB1c2hDb21tYW5kEhIKBHRhZ3MYBiADKAlSBHRhZ3MSMAoEbmFtZRgHIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRIqCg5lbnZpcm9ubWVudF9pZBgIIAEoCUID4EECUg1lbnZpcm9ubWVudElkEjYKCGRpc2FibGVkGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWRKBAgBEAIiPgoSVXBkYXRlUHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIlEKDkdldFB1c2hSZXF1ZXN0EioKDmVudmlyb25tZW50X2lkGAEgASgJQgPgQQJSDWVudmlyb25tZW50SWQSEwoCaWQYAiABKAlCA+BBAlICaWQiOwoPR2V0UHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoMoARCgtQdXNoU2VydmljZRKEBAoKTGlzdFB1c2hlcxIhLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0GiIuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1Jlc3BvbnNlIq4DkkGYAwoEcHVzaBIETGlzdBoMTGlzdCBwdXNoZXMuKhB3ZWIudjEucHVzaC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDBIKL3YxL3B1c2hlcxKLBAoKQ3JlYXRlUHVzaBIhLmJ1Y2tldGVlci5wdXNoLkNyZWF0ZVB1c2hSZXF1ZXN0GiIuYnVja2V0ZWVyLnB1c2guQ3JlYXRlUHVzaFJlc3BvbnNlIrUDkkGeAwoEcHVzaBIGQ3JlYXRlGg5DcmVhdGUgYSBwdXNoLioSd2ViLnYxLnB1c2guY3JlYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDSIIL3YxL3B1c2g6ASoSiwQKClVwZGF0ZVB1c2gSIS5idWNrZXRlZXIucHVzaC5VcGRhdGVQdXNoUmVxdWVzdBoiLmJ1Y2tldGVlci5wdXNoLlVwZGF0ZVB1c2hSZXNwb25zZSK1A5JBngMKBHB1c2gSBlVwZGF0ZRoOVXBkYXRlIGEgcHVzaC4qEndlYi52MS5wdXNoLnVwZGF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAg0yCC92MS9wdXNoOgEqEvYDCgdHZXRQdXNoEh4uYnVja2V0ZWVyLnB1c2guR2V0UHVzaFJlcXVlc3QaHy5idWNrZXRlZXIucHVzaC5HZXRQdXNoUmVzcG9uc2UiqQOSQZUDCgRwdXNoEgNHZXQaC0dldCBhIHB1c2guKg93ZWIudjEucHVzaC5nZXRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvcHVzaBJVCgpEZWxldGVQdXNoEiEuYnVja2V0ZWVyLnB1c2guRGVsZXRlUHVzaFJlcXVlc3QaIi5idWNrZXRlZXIucHVzaC5EZWxldGVQdXNoUmVzcG9uc2UiAEIuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vcHVzaGIGcHJvdG8zCucDCiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IukCCg1FbnZpcm9ubWVudFYyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIdCgpwcm9qZWN0X2lkGAUgASgJUglwcm9qZWN0SWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEh0KCmNyZWF0ZWRfYXQYByABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAggASgDUgl1cGRhdGVkQXQSJwoPb3JnYW5pemF0aW9uX2lkGAkgASgJUg5vcmdhbml6YXRpb25JZBInCg9yZXF1aXJlX2NvbW1lbnQYCiABKAhSDnJlcXVpcmVDb21tZW50EiwKEmZlYXR1cmVfZmxhZ19jb3VudBgLIAEoBVIQZmVhdHVyZUZsYWdDb3VudEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwr9AwofcHJvdG8vZW52aXJvbm1lbnQvcHJvamVjdC5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IoMDCgdQcm9qZWN0Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlEicKD29yZ2FuaXphdGlvbl9pZBgKIAEoCVIOb3JnYW5pemF0aW9uSWQSKwoRZW52aXJvbm1lbnRfY291bnQYCyABKAVSEGVudmlyb25tZW50Q291bnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAwgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCq8ECiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudCKwAwoMT3JnYW5pemF0aW9uEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiEKDHN5c3RlbV9hZG1pbhgKIAEoCFILc3lzdGVtQWRtaW4SIwoNcHJvamVjdF9jb3VudBgLIAEoBVIMcHJvamVjdENvdW50EisKEWVudmlyb25tZW50X2NvdW50GAwgASgFUhBlbnZpcm9ubWVudENvdW50Eh0KCnVzZXJfY291bnQYDSABKAVSCXVzZXJDb3VudBIfCgtvd25lcl9lbWFpbBgOIAEoCVIKb3duZXJFbWFpbEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwqQAwohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudCLpAQoMU2VhcmNoRmlsdGVyEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhQKBXF1ZXJ5GAMgASgJUgVxdWVyeRJRChJmaWx0ZXJfdGFyZ2V0X3R5cGUYBCABKA4yIy5idWNrZXRlZXIuYWNjb3VudC5GaWx0ZXJUYXJnZXRUeXBlUhBmaWx0ZXJUYXJnZXRUeXBlEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkEiUKDmRlZmF1bHRfZmlsdGVyGAYgASgIUg1kZWZhdWx0RmlsdGVyKjEKEEZpbHRlclRhcmdldFR5cGUSCwoHVU5LTk9XThAAEhAKDEZFQVRVUkVfRkxBRxABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK1BMKG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxIRYnVja2V0ZWVyLmFjY291bnQaI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvGh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvGiRwcm90by9lbnZpcm9ubWVudC9vcmdhbml6YXRpb24ucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKrAgoHQWNjb3VudBIOCgJpZBgBIAEoCVICaWQSFAoFZW1haWwYAiABKAlSBWVtYWlsEhIKBG5hbWUYAyABKAlSBG5hbWUSMwoEcm9sZRgEIAEoDjIfLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnQuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAggASgIUgdkZWxldGVkIjkKBFJvbGUSCgoGVklFV0VSEAASCgoGRURJVE9SEAESCQoFT1dORVIQAhIOCgpVTkFTU0lHTkVEEGM6AhgBIrwICglBY2NvdW50VjISFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSRgoOc2VhcmNoX2ZpbHRlcnMYCiADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgLIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgMIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDSABKAlSCGxhbmd1YWdlEhsKCWxhc3Rfc2VlbhgOIAEoA1IIbGFzdFNlZW4SKAoQYXZhdGFyX2ZpbGVfdHlwZRgPIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGBAgASgMUgthdmF0YXJJbWFnZRIrChFlbnZpcm9ubWVudF9jb3VudBgRIAEoBVIQZW52aXJvbm1lbnRDb3VudBISCgR0YWdzGBIgAygJUgR0YWdzGtcBCgRSb2xlIlkKC0Vudmlyb25tZW50EhoKFkVudmlyb25tZW50X1VOQVNTSUdORUQQABIWChJFbnZpcm9ubWVudF9WSUVXRVIQARIWChJFbnZpcm9ubWVudF9FRElUT1IQAiJ0CgxPcmdhbml6YXRpb24SGwoXT3JnYW5pemF0aW9uX1VOQVNTSUdORUQQABIXChNPcmdhbml6YXRpb25fTUVNQkVSEAESFgoST3JnYW5pemF0aW9uX0FETUlOEAISFgoST3JnYW5pemF0aW9uX09XTkVSEAMaewoPRW52aXJvbm1lbnRSb2xlEiUKDmVudmlyb25tZW50X2lkGAEgASgJUg1lbnZpcm9ubWVudElkEkEKBHJvbGUYAiABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZSLqBgoOQ29uc29sZUFjY291bnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKYXZhdGFyX3VybBgDIAEoCVIJYXZhdGFyVXJsEiYKD2lzX3N5c3RlbV9hZG1pbhgEIAEoCFINaXNTeXN0ZW1BZG1pbhJHCgxvcmdhbml6YXRpb24YBSABKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUgxvcmdhbml6YXRpb24SWwoRb3JnYW5pemF0aW9uX3JvbGUYBiABKA4yLi5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5Pcmdhbml6YXRpb25SEG9yZ2FuaXphdGlvblJvbGUSXgoRZW52aXJvbm1lbnRfcm9sZXMYByADKAsyMS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudC5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSRgoOc2VhcmNoX2ZpbHRlcnMYCCADKAsyHy5idWNrZXRlZXIuYWNjb3VudC5TZWFyY2hGaWx0ZXJSDXNlYXJjaEZpbHRlcnMSHQoKZmlyc3RfbmFtZRgJIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgKIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCyABKAlSCGxhbmd1YWdlEigKEGF2YXRhcl9maWxlX3R5cGUYDCABKAlSDmF2YXRhckZpbGVUeXBlEiEKDGF2YXRhcl9pbWFnZRgNIAEoDFILYXZhdGFySW1hZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhrWAQoPRW52aXJvbm1lbnRSb2xlEkYKC2Vudmlyb25tZW50GAEgASgLMiQuYnVja2V0ZWVyLmVudmlyb25tZW50LkVudmlyb25tZW50VjJSC2Vudmlyb25tZW50EjgKB3Byb2plY3QYAiABKAsyHi5idWNrZXRlZXIuZW52aXJvbm1lbnQuUHJvamVjdFIHcHJvamVjdBJBCgRyb2xlGAMgASgOMi0uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuRW52aXJvbm1lbnRSBHJvbGVCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrmBgobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8iuwMKBkFQSUtleRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyCgRyb2xlGAMgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHgoKbWFpbnRhaW5lchgHIAEoCVIKbWFpbnRhaW5lchIXCgdhcGlfa2V5GAggASgJUgZhcGlLZXkSIAoLZGVzY3JpcHRpb24YCSABKAlSC2Rlc2NyaXB0aW9uEikKEGVudmlyb25tZW50X25hbWUYCiABKAlSD2Vudmlyb25tZW50TmFtZSJ5CgRSb2xlEgsKB1VOS05PV04QABIOCgpTREtfQ0xJRU5UEAESDgoKU0RLX1NFUlZFUhACEhgKFFBVQkxJQ19BUElfUkVBRF9PTkxZEAMSFAoQUFVCTElDX0FQSV9XUklURRAEEhQKEFBVQkxJQ19BUElfQURNSU4QBSKVAgoRRW52aXJvbm1lbnRBUElLZXkSMgoHYXBpX2tleRgCIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5EjEKFGVudmlyb25tZW50X2Rpc2FibGVkGAMgASgIUhNlbnZpcm9ubWVudERpc2FibGVkEiEKCnByb2plY3RfaWQYBCABKAlCAhgBUglwcm9qZWN0SWQSRgoLZW52aXJvbm1lbnQYBSABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSKAoQcHJvamVjdF91cmxfY29kZRgGIAEoCVIOcHJvamVjdFVybENvZGVKBAgBEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwqcEgobcHJvdG8vYWNjb3VudC9jb21tYW5kLnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvGhtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90byKQAwoWQ3JlYXRlQWNjb3VudFYyQ29tbWFuZBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBJbChFvcmdhbml6YXRpb25fcm9sZRgEIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgFIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgGIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgHIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCCABKAlSCGxhbmd1YWdlEhIKBHRhZ3MYCSADKAlSBHRhZ3MiMAoaQ2hhbmdlQWNjb3VudFYyTmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJACh9DaGFuZ2VBY2NvdW50VjJGaXJzdE5hbWVDb21tYW5kEh0KCmZpcnN0X25hbWUYASABKAlSCWZpcnN0TmFtZSI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0TmFtZUNvbW1hbmQSGwoJbGFzdF9uYW1lGAEgASgJUghsYXN0TmFtZSI8Ch5DaGFuZ2VBY2NvdW50VjJMYW5ndWFnZUNvbW1hbmQSGgoIbGFuZ3VhZ2UYASABKAlSCGxhbmd1YWdlIlAKJENoYW5nZUFjY291bnRWMkF2YXRhckltYWdlVXJsQ29tbWFuZBIoChBhdmF0YXJfaW1hZ2VfdXJsGAEgASgJUg5hdmF0YXJJbWFnZVVybCJrChxDaGFuZ2VBY2NvdW50VjJBdmF0YXJDb21tYW5kEiEKDGF2YXRhcl9pbWFnZRgBIAEoDFILYXZhdGFySW1hZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgCIAEoCVIOYXZhdGFyRmlsZVR5cGUiMAoaQ2hhbmdlQWNjb3VudFYyVGFnc0NvbW1hbmQSEgoEdGFncxgBIAMoCVIEdGFncyI9Ch5DaGFuZ2VBY2NvdW50VjJMYXN0U2VlbkNvbW1hbmQSGwoJbGFzdF9zZWVuGAEgASgDUghsYXN0U2VlbiJsCiZDaGFuZ2VBY2NvdW50VjJPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBJCCgRyb2xlGAEgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUgRyb2xlIqUCCiZDaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZBJCCgVyb2xlcxgBIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSBXJvbGVzEmIKCndyaXRlX3R5cGUYAiABKA4yQy5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZC5Xcml0ZVR5cGVSCXdyaXRlVHlwZSJTCglXcml0ZVR5cGUSGQoVV3JpdGVUeXBlX1VOU1BFQ0lGSUVEEAASFgoSV3JpdGVUeXBlX09WRVJSSURFEAESEwoPV3JpdGVUeXBlX1BBVENIEAIiGAoWRW5hYmxlQWNjb3VudFYyQ29tbWFuZCIZChdEaXNhYmxlQWNjb3VudFYyQ29tbWFuZCIYChZEZWxldGVBY2NvdW50VjJDb21tYW5kIl0KE0NyZWF0ZUFQSUtleUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIyCgRyb2xlGAIgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUiLQoXQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSIVChNFbmFibGVBUElLZXlDb21tYW5kIhYKFERpc2FibGVBUElLZXlDb21tYW5kIuYBChlDcmVhdGVTZWFyY2hGaWx0ZXJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUSFAoFcXVlcnkYAiABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgDIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBSABKAhSDWRlZmF1bHRGaWx0ZXIiQwodQ2hhbmdlU2VhcmNoRmlsdGVyTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiRgoeQ2hhbmdlU2VhcmNoRmlsdGVyUXVlcnlDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgVxdWVyeRgCIAEoCVIFcXVlcnkiWQogQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkEiUKDmRlZmF1bHRfZmlsdGVyGAIgASgIUg1kZWZhdWx0RmlsdGVyIisKGURlbGV0ZVNlYXJjaEZpbHRlckNvbW1hbmQSDgoCaWQYASABKAlSAmlkQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hY2NvdW50YgZwcm90bzMK1r8BChtwcm90by9hY2NvdW50L3NlcnZpY2UucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50Gh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9hcGkvZmllbGRfYmVoYXZpb3IucHJvdG8aLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8aG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxobcHJvdG8vYWNjb3VudC9hcGlfa2V5LnByb3RvGhtwcm90by9hY2NvdW50L2NvbW1hbmQucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90byI3CgxHZXRNZVJlcXVlc3QSJwoPb3JnYW5pemF0aW9uX2lkGAEgASgJUg5vcmdhbml6YXRpb25JZCJMCg1HZXRNZVJlc3BvbnNlEjsKB2FjY291bnQYASABKAsyIS5idWNrZXRlZXIuYWNjb3VudC5Db25zb2xlQWNjb3VudFIHYWNjb3VudCIbChlHZXRNeU9yZ2FuaXphdGlvbnNSZXF1ZXN0IjgKIEdldE15T3JnYW5pemF0aW9uc0J5RW1haWxSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbCJnChpHZXRNeU9yZ2FuaXphdGlvbnNSZXNwb25zZRJJCg1vcmdhbml6YXRpb25zGAEgAygLMiMuYnVja2V0ZWVyLmVudmlyb25tZW50Lk9yZ2FuaXphdGlvblINb3JnYW5pemF0aW9ucyKCBAoWQ3JlYXRlQWNjb3VudFYyUmVxdWVzdBInCg9vcmdhbml6YXRpb25faWQYASABKAlSDm9yZ2FuaXphdGlvbklkEkcKB2NvbW1hbmQYAiABKAsyKS5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZBIUCgVlbWFpbBgDIAEoCVIFZW1haWwSEgoEbmFtZRgEIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAUgASgJUg5hdmF0YXJJbWFnZVVybBJbChFvcmdhbml6YXRpb25fcm9sZRgGIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgHIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgIIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgJIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCiABKAlSCGxhbmd1YWdlEhIKBHRhZ3MYCyADKAlSBHRhZ3MiUQoXQ3JlYXRlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKgAQoWRW5hYmxlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAMgASgLMikuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiUQoXRW5hYmxlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKiAQoXRGlzYWJsZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSSAoHY29tbWFuZBgDIAEoCzIqLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBY2NvdW50VjJDb21tYW5kQgIYAVIHY29tbWFuZCJSChhEaXNhYmxlQWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCKgAQoWRGVsZXRlQWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZBJHCgdjb21tYW5kGAMgASgLMikuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyQ29tbWFuZEICGAFSB2NvbW1hbmQiGQoXRGVsZXRlQWNjb3VudFYyUmVzcG9uc2Ui3RAKFlVwZGF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSYQoTY2hhbmdlX25hbWVfY29tbWFuZBgDIAEoCzItLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMk5hbWVDb21tYW5kQgIYAVIRY2hhbmdlTmFtZUNvbW1hbmQSdgoZY2hhbmdlX2F2YXRhcl91cmxfY29tbWFuZBgEIAEoCzI3LmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkF2YXRhckltYWdlVXJsQ29tbWFuZEICGAFSFmNoYW5nZUF2YXRhclVybENvbW1hbmQShgEKIGNoYW5nZV9vcmdhbml6YXRpb25fcm9sZV9jb21tYW5kGAUgASgLMjkuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyT3JnYW5pemF0aW9uUm9sZUNvbW1hbmRCAhgBUh1jaGFuZ2VPcmdhbml6YXRpb25Sb2xlQ29tbWFuZBKGAQogY2hhbmdlX2Vudmlyb25tZW50X3JvbGVzX2NvbW1hbmQYBiABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ29tbWFuZEICGAFSHWNoYW5nZUVudmlyb25tZW50Um9sZXNDb21tYW5kEnEKGWNoYW5nZV9maXJzdF9uYW1lX2NvbW1hbmQYByABKAsyMi5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJGaXJzdE5hbWVDb21tYW5kQgIYAVIWY2hhbmdlRmlyc3ROYW1lQ29tbWFuZBJuChhjaGFuZ2VfbGFzdF9uYW1lX2NvbW1hbmQYCCABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJMYXN0TmFtZUNvbW1hbmRCAhgBUhVjaGFuZ2VMYXN0TmFtZUNvbW1hbmQSbQoXY2hhbmdlX2xhbmd1YWdlX2NvbW1hbmQYCSABKAsyMS5idWNrZXRlZXIuYWNjb3VudC5DaGFuZ2VBY2NvdW50VjJMYW5ndWFnZUNvbW1hbmRCAhgBUhVjaGFuZ2VMYW5ndWFnZUNvbW1hbmQSbgoYY2hhbmdlX2xhc3Rfc2Vlbl9jb21tYW5kGAogASgLMjEuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyTGFzdFNlZW5Db21tYW5kQgIYAVIVY2hhbmdlTGFzdFNlZW5Db21tYW5kEmcKFWNoYW5nZV9hdmF0YXJfY29tbWFuZBgLIAEoCzIvLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFjY291bnRWMkF2YXRhckNvbW1hbmRCAhgBUhNjaGFuZ2VBdmF0YXJDb21tYW5kEjAKBG5hbWUYDCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSRgoQYXZhdGFyX2ltYWdlX3VybBgNIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIOYXZhdGFySW1hZ2VVcmwSbAoRb3JnYW5pemF0aW9uX3JvbGUYDiABKAsyPy5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0Lk9yZ2FuaXphdGlvblJvbGVWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgPIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSOwoKZmlyc3RfbmFtZRgQIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIJZmlyc3ROYW1lEjkKCWxhc3RfbmFtZRgRIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFzdE5hbWUSOAoIbGFuZ3VhZ2UYEiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSCGxhbmd1YWdlEjgKCWxhc3Rfc2VlbhgTIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUghsYXN0U2VlbhJRCgZhdmF0YXIYFCABKAsyOS5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0LkFjY291bnRWMkF2YXRhclIGYXZhdGFyEjYKCGRpc2FibGVkGBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSEgoEdGFncxgWIAMoCVIEdGFncxJhChNjaGFuZ2VfdGFnc19jb21tYW5kGBcgASgLMi0uYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQWNjb3VudFYyVGFnc0NvbW1hbmRCAhgBUhFjaGFuZ2VUYWdzQ29tbWFuZBpeCg9BY2NvdW50VjJBdmF0YXISIQoMYXZhdGFyX2ltYWdlGAEgASgMUgthdmF0YXJJbWFnZRIoChBhdmF0YXJfZmlsZV90eXBlGAIgASgJUg5hdmF0YXJGaWxlVHlwZRpbChVPcmdhbml6YXRpb25Sb2xlVmFsdWUSQgoEcm9sZRgBIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIEcm9sZSJRChdVcGRhdGVBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IlQKE0dldEFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQiTgoUR2V0QWNjb3VudFYyUmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIHYWNjb3VudCJhCiJHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIlCg5lbnZpcm9ubWVudF9pZBgCIAEoCVINZW52aXJvbm1lbnRJZCJdCiNHZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50IqkGChVMaXN0QWNjb3VudHNWMlJlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchInCg9vcmdhbml6YXRpb25faWQYAyABKAlSDm9yZ2FuaXphdGlvbklkEksKCG9yZGVyX2J5GAQgASgOMjAuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYAoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjcuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBI2CghkaXNhYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGRpc2FibGVkEkgKEW9yZ2FuaXphdGlvbl9yb2xlGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSEG9yZ2FuaXphdGlvblJvbGUSQwoOZW52aXJvbm1lbnRfaWQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDWVudmlyb25tZW50SWQSRgoQZW52aXJvbm1lbnRfcm9sZRgKIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUg9lbnZpcm9ubWVudFJvbGUSEgoEdGFncxgLIAMoCVIEdGFncyKTAQoHT3JkZXJCeRILCgdERUZBVUxUEAASCQoFRU1BSUwQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEhUKEU9SR0FOSVpBVElPTl9ST0xFEAQSFQoRRU5WSVJPTk1FTlRfQ09VTlQQBRINCglMQVNUX1NFRU4QBhIJCgVTVEFURRAHEggKBFRBR1MQCCIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAEiiwEKFkxpc3RBY2NvdW50c1YyUmVzcG9uc2USOAoIYWNjb3VudHMYASADKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSCGFjY291bnRzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IpICChNDcmVhdGVBUElLZXlSZXF1ZXN0EkQKB2NvbW1hbmQYASABKAsyJi5idWNrZXRlZXIuYWNjb3VudC5DcmVhdGVBUElLZXlDb21tYW5kQgIYAVIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZBISCgRuYW1lGAQgASgJUgRuYW1lEjIKBHJvbGUYBSABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIeCgptYWludGFpbmVyGAYgASgJUgptYWludGFpbmVyEiAKC2Rlc2NyaXB0aW9uGAcgASgJUgtkZXNjcmlwdGlvbkoECAIQAyJKChRDcmVhdGVBUElLZXlSZXNwb25zZRIyCgdhcGlfa2V5GAEgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXkinAEKF0NoYW5nZUFQSUtleU5hbWVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJECgdjb21tYW5kGAIgASgLMiouYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQVBJS2V5TmFtZUNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGgoYQ2hhbmdlQVBJS2V5TmFtZVJlc3BvbnNlIpQBChNFbmFibGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJACgdjb21tYW5kGAIgASgLMiYuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQVBJS2V5Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIWChRFbmFibGVBUElLZXlSZXNwb25zZSKWAQoURGlzYWJsZUFQSUtleVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkEKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVEaXNhYmxlQVBJS2V5UmVzcG9uc2UiTwoQR2V0QVBJS2V5UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiRwoRR2V0QVBJS2V5UmVzcG9uc2USMgoHYXBpX2tleRgBIAEoCzIZLmJ1Y2tldGVlci5hY2NvdW50LkFQSUtleVIGYXBpS2V5IuYEChJMaXN0QVBJS2V5c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJICghvcmRlcl9ieRgEIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El0KD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI0LmJ1Y2tldGVlci5hY2NvdW50Lkxpc3RBUElLZXlzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSNgoIZGlzYWJsZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBIpCg5lbnZpcm9ubWVudF9pZBgIIAEoCUICGAFSDWVudmlyb25tZW50SWQSJwoPZW52aXJvbm1lbnRfaWRzGAkgAygJUg5lbnZpcm9ubWVudElkcxIsCg9vcmdhbml6YXRpb25faWQYCiABKAlCA+BBAlIOb3JnYW5pemF0aW9uSWQiZgoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoEUk9MRRAEEg8KC0VOVklST05NRU5UEAUSCQoFU1RBVEUQBiIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAFKBAgDEAQihAEKE0xpc3RBUElLZXlzUmVzcG9uc2USNAoIYXBpX2tleXMYASADKAsyGS5idWNrZXRlZXIuYWNjb3VudC5BUElLZXlSB2FwaUtleXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiNgobR2V0RW52aXJvbm1lbnRBUElLZXlSZXF1ZXN0EhcKB2FwaV9rZXkYAiABKAlSBmFwaUtleSJ0ChxHZXRFbnZpcm9ubWVudEFQSUtleVJlc3BvbnNlElQKE2Vudmlyb25tZW50X2FwaV9rZXkYASABKAsyJC5idWNrZXRlZXIuYWNjb3VudC5FbnZpcm9ubWVudEFQSUtleVIRZW52aXJvbm1lbnRBcGlLZXkiyQEKGUNyZWF0ZVNlYXJjaEZpbHRlclJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSRgoHY29tbWFuZBgEIAEoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlckNvbW1hbmRSB2NvbW1hbmQiHAoaQ3JlYXRlU2VhcmNoRmlsdGVyUmVzcG9uc2UiwAMKGVVwZGF0ZVNlYXJjaEZpbHRlclJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWQSYAoTY2hhbmdlX25hbWVfY29tbWFuZBgEIAEoCzIwLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZVNlYXJjaEZpbHRlck5hbWVDb21tYW5kUhFjaGFuZ2VOYW1lQ29tbWFuZBJjChRjaGFuZ2VfcXVlcnlfY29tbWFuZBgFIAEoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZVNlYXJjaEZpbHRlclF1ZXJ5Q29tbWFuZFISY2hhbmdlUXVlcnlDb21tYW5kEnYKHWNoYW5nZV9kZWZhdWx0X2ZpbHRlcl9jb21tYW5kGAYgASgLMjMuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlRGVmYXVsdFNlYXJjaEZpbHRlckNvbW1hbmRSGmNoYW5nZURlZmF1bHRGaWx0ZXJDb21tYW5kIhwKGlVwZGF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIskBChlEZWxldGVTZWFyY2hGaWx0ZXJSZXF1ZXN0EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkEiUKDmVudmlyb25tZW50X2lkGAMgASgJUg1lbnZpcm9ubWVudElkEkYKB2NvbW1hbmQYBCABKAsyLC5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVTZWFyY2hGaWx0ZXJDb21tYW5kUgdjb21tYW5kIhwKGkRlbGV0ZVNlYXJjaEZpbHRlclJlc3BvbnNlIugCChNVcGRhdGVBUElLZXlSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgCIAEoCVINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhIyCgRyb2xlGAUgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSNgoIZGlzYWJsZWQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBI8CgptYWludGFpbmVyGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgptYWludGFpbmVyIhYKFFVwZGF0ZUFQSUtleVJlc3BvbnNlMs56Cg5BY2NvdW50U2VydmljZRKeBAoFR2V0TWUSHy5idWNrZXRlZXIuYWNjb3VudC5HZXRNZVJlcXVlc3QaIC5idWNrZXRlZXIuYWNjb3VudC5HZXRNZVJlc3BvbnNlItEDkkGzAwoHQWNjb3VudBIGR2V0IE1lGh1HZXQgdGhlIHVzZXIgY29uc29sZSBhY2NvdW50LioVd2ViLnYxLmFjY291bnQuZ2V0X21lSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCFBISL3YxL2FjY291bnQvZ2V0X21lEvgEChJHZXRNeU9yZ2FuaXphdGlvbnMSLC5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNSZXF1ZXN0Gi0uYnVja2V0ZWVyLmFjY291bnQuR2V0TXlPcmdhbml6YXRpb25zUmVzcG9uc2UihASSQdwDCgdBY2NvdW50EhRHZXQgTXkgT3JnYW5pemF0aW9ucxouR2V0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyBmb3IgYSBzcGVjaWZpYyB1c2VyLiofd2ViLnYxLmFjY291bnQubXlfb3JnYW5pemF0aW9uc0q0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh4SHC92MS9hY2NvdW50L215X29yZ2FuaXphdGlvbnMSlgUKGUdldE15T3JnYW5pemF0aW9uc0J5RW1haWwSMy5idWNrZXRlZXIuYWNjb3VudC5HZXRNeU9yZ2FuaXphdGlvbnNCeUVtYWlsUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkdldE15T3JnYW5pemF0aW9uc1Jlc3BvbnNlIpQEkkHjAwoHQWNjb3VudBIdR2V0IE15IE9yZ2FuaXphdGlvbnMgQnkgRW1haWwaI0dldCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgYnkgZW1haWwuKih3ZWIudjEuYWNjb3VudC5teV9vcmdhbml6YXRpb25zX2J5X2VtYWlsSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJxIlL3YxL2FjY291bnQvbXlfb3JnYW5pemF0aW9uc19ieV9lbWFpbBK6BgoPQ3JlYXRlQWNjb3VudFYyEikuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQWNjb3VudFYyUmVxdWVzdBoqLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFjY291bnRWMlJlc3BvbnNlIs8FkkGmBQoHQWNjb3VudBIGQ3JlYXRlGlxDcmVhdGUgYW4gYWNjb3VudCB0byBoYXZlIGFjY2VzcyB0byB0aGUgY29uc29sZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuY3JlYXRlX2FjY291bnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvY3JlYXRlX2FjY291bnQ6ASoSzgMKD0VuYWJsZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5FbmFibGVBY2NvdW50VjJSZXNwb25zZSLjApJBugIKB0FjY291bnQSBkVuYWJsZRpcRW5hYmxlIGFuIGFjY291bnQgdG8gaGF2ZSBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LmVuYWJsZV9hY2NvdW50SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZW5hYmxlX2FjY291bnQ6ASoSwgYKEERpc2FibGVBY2NvdW50VjISKi5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQWNjb3VudFYyUmVxdWVzdBorLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBY2NvdW50VjJSZXNwb25zZSLUBZJBqgUKB0FjY291bnQSB0Rpc2FibGUaXkRpc2FibGUgYW4gYWNjb3VudCB0byBibG9jayBhY2Nlc3MgdG8gdGhlIGNvbnNvbGUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHndlYi52MS5hY2NvdW50LmRpc2FibGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIgIhsvdjEvYWNjb3VudC9kaXNhYmxlX2FjY291bnQ6ASoSnAYKD1VwZGF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuYWNjb3VudC5VcGRhdGVBY2NvdW50VjJSZXNwb25zZSKxBZJBiAUKB0FjY291bnQSBlVwZGF0ZRo+VXBkYXRlIGFuIGFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qHXdlYi52MS5hY2NvdW50LnVwZGF0ZV9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8iGi92MS9hY2NvdW50L3VwZGF0ZV9hY2NvdW50OgEqEpwGCg9EZWxldGVBY2NvdW50VjISKS5idWNrZXRlZXIuYWNjb3VudC5EZWxldGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlQWNjb3VudFYyUmVzcG9uc2UisQWSQYgFCgdBY2NvdW50EgZEZWxldGUaPkRlbGV0ZSBhbiBhY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5kZWxldGVfYWNjb3VudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9kZWxldGVfYWNjb3VudDoBKhKsBAoMR2V0QWNjb3VudFYyEiYuYnVja2V0ZWVyLmFjY291bnQuR2V0QWNjb3VudFYyUmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMlJlc3BvbnNlIsoDkkGnAwoHQWNjb3VudBIDR2V0Gg9HZXQgYW4gYWNjb3VudC4qGndlYi52MS5hY2NvdW50LmdldF9hY2NvdW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGRIXL3YxL2FjY291bnQvZ2V0X2FjY291bnQSnQUKG0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRBI1LmJ1Y2tldGVlci5hY2NvdW50LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QaNi5idWNrZXRlZXIuYWNjb3VudC5HZXRBY2NvdW50VjJCeUVudmlyb25tZW50SURSZXNwb25zZSKOBJJB3AMKB0FjY291bnQSGkdldCBBY2NvdW50IEJ5IEVudmlyb25tZW50Gh5HZXQgYW4gYWNjb3VudCBieSBlbnZpcm9ubWVudC4qKXdlYi52MS5hY2NvdW50LmdldF9hY2NvdW50X2J5X2Vudmlyb25tZW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKBImL3YxL2FjY291bnQvZ2V0X2FjY291bnRfYnlfZW52aXJvbm1lbnQStgQKDkxpc3RBY2NvdW50c1YyEiguYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXF1ZXN0GikuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFjY291bnRzVjJSZXNwb25zZSLOA5JBqQMKB0FjY291bnQSBExpc3QaDkxpc3QgYWNjb3VudHMuKhx3ZWIudjEuYWNjb3VudC5saXN0X2FjY291bnRzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGxIZL3YxL2FjY291bnQvbGlzdF9hY2NvdW50cxKwBgoMQ3JlYXRlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZUFQSUtleVJlc3BvbnNlIs4FkkGlBQoHQVBJIEtleRIGQ3JlYXRlGltDcmVhdGUgYW4gQVBJIGtleSB0byBiZSB1c2VkIG9uIHRoZSBjbGllbnQgU0RLLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC5jcmVhdGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfIhovdjEvYWNjb3VudC9jcmVhdGVfYXBpX2tleToBKhK8BgoQQ2hhbmdlQVBJS2V5TmFtZRIqLmJ1Y2tldGVlci5hY2NvdW50LkNoYW5nZUFQSUtleU5hbWVSZXF1ZXN0GisuYnVja2V0ZWVyLmFjY291bnQuQ2hhbmdlQVBJS2V5TmFtZVJlc3BvbnNlIs4FkkGgBQoHQVBJIEtleRITQ2hhbmdlIEFQSSBLZXkgTmFtZRpEQ2hhbmdlIHRoZSBBUEkgS2V5IE5hbWUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBBRE1JTmAgcm9sZS4qIndlYi52MS5hY2NvdW50LmNoYW5nZV9hcGlfa2V5X25hbWVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJCIfL3YxL2FjY291bnQvY2hhbmdlX2FwaV9rZXlfbmFtZToBKhKTBgoMRW5hYmxlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuRW5hYmxlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LkVuYWJsZUFQSUtleVJlc3BvbnNlIrEFkkGIBQoHQVBJIEtleRIGRW5hYmxlGj5FbmFibGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLiodd2ViLnYxLmFjY291bnQuZW5hYmxlX2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCHyIaL3YxL2FjY291bnQvZW5hYmxlX2FwaV9rZXk6ASoSmgYKDURpc2FibGVBUElLZXkSJy5idWNrZXRlZXIuYWNjb3VudC5EaXNhYmxlQVBJS2V5UmVxdWVzdBooLmJ1Y2tldGVlci5hY2NvdW50LkRpc2FibGVBUElLZXlSZXNwb25zZSK1BZJBiwUKB0FQSSBLZXkSB0Rpc2FibGUaP0Rpc2FibGUgYW4gQVBJIEtleS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYEFETUlOYCByb2xlLioed2ViLnYxLmFjY291bnQuZGlzYWJsZV9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiAiGy92MS9hY2NvdW50L2Rpc2FibGVfYXBpX2tleToBKhKjBAoJR2V0QVBJS2V5EiMuYnVja2V0ZWVyLmFjY291bnQuR2V0QVBJS2V5UmVxdWVzdBokLmJ1Y2tldGVlci5hY2NvdW50LkdldEFQSUtleVJlc3BvbnNlIsoDkkGnAwoHQVBJIEtleRIDR2V0Gg9HZXQgYW4gQVBJIEtleS4qGndlYi52MS5hY2NvdW50LmdldF9hcGlfa2V5SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGRIXL3YxL2FjY291bnQvZ2V0X2FwaV9rZXkSrQQKC0xpc3RBUElLZXlzEiUuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXF1ZXN0GiYuYnVja2V0ZWVyLmFjY291bnQuTGlzdEFQSUtleXNSZXNwb25zZSLOA5JBqQMKB0FQSSBLZXkSBExpc3QaDkxpc3QgQVBJIEtleXMuKhx3ZWIudjEuYWNjb3VudC5saXN0X2FwaV9rZXlzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGxIZL3YxL2FjY291bnQvbGlzdF9hcGlfa2V5cxL8BAoUR2V0RW52aXJvbm1lbnRBUElLZXkSLi5idWNrZXRlZXIuYWNjb3VudC5HZXRFbnZpcm9ubWVudEFQSUtleVJlcXVlc3QaLy5idWNrZXRlZXIuYWNjb3VudC5HZXRFbnZpcm9ubWVudEFQSUtleVJlc3BvbnNlIoIEkkHTAwoHQVBJIEtleRIXR2V0IEVudmlyb25tZW50IEFQSSBLZXkaG0dldCBhbiBlbnZpcm9ubWVudCBBUEkgS2V5Liomd2ViLnYxLmFjY291bnQuZ2V0X2Vudmlyb25tZW50X2FwaV9rZXlKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlEiMvdjEvYWNjb3VudC9nZXRfZW52aXJvbm1lbnRfYXBpX2tleRLFBgoSQ3JlYXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuQ3JlYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkNyZWF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIUQ3JlYXRlIFNlYXJjaCBGaWx0ZXIaRENyZWF0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC5jcmVhdGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC9jcmVhdGVfc2VhcmNoX2ZpbHRlcjoBKhLFBgoSVXBkYXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIUVXBkYXRlIFNlYXJjaCBGaWx0ZXIaRFVwZGF0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC51cGRhdGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC91cGRhdGVfc2VhcmNoX2ZpbHRlcjoBKhLFBgoSRGVsZXRlU2VhcmNoRmlsdGVyEiwuYnVja2V0ZWVyLmFjY291bnQuRGVsZXRlU2VhcmNoRmlsdGVyUmVxdWVzdBotLmJ1Y2tldGVlci5hY2NvdW50LkRlbGV0ZVNlYXJjaEZpbHRlclJlc3BvbnNlItEFkkGiBQoHQWNjb3VudBIURGVsZXRlIFNlYXJjaCBGaWx0ZXIaRERlbGV0ZSBhIHNlYXJjaCBmaWx0ZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBWSUVXRVJgIHJvbGUuKiN3ZWIudjEuYWNjb3VudC5kZWxldGVfc2VhcmNoX2ZpbHRlckq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIlIiAvdjEvYWNjb3VudC9kZWxldGVfc2VhcmNoX2ZpbHRlcjoBKhKbBgoMVXBkYXRlQVBJS2V5EiYuYnVja2V0ZWVyLmFjY291bnQuVXBkYXRlQVBJS2V5UmVxdWVzdBonLmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFQSUtleVJlc3BvbnNlIrkFkkGQBQoHQVBJIEtleRIOVXBkYXRlIEFQSSBLZXkaPlVwZGF0ZSBhbiBBUEkgS2V5LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKh13ZWIudjEuYWNjb3VudC51cGRhdGVfYXBpX2tleUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIfMhovdjEvYWNjb3VudC91cGRhdGVfYXBpX2tleToBKkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCvsBCh5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI6CghEdXJhdGlvbhIYCgdzZWNvbmRzGAEgASgDUgdzZWNvbmRzEhQKBW5hbm9zGAIgASgFUgVuYW5vc0KDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINRHVyYXRpb25Qcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9kdXJhdGlvbnBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKxjQKHnByb3RvL2V2ZW50L2NsaWVudC9ldmVudC5wcm90bxIWYnVja2V0ZWVyLmV2ZW50LmNsaWVudBoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL2R1cmF0aW9uLnByb3RvGh5wcm90by9mZWF0dXJlL2V2YWx1YXRpb24ucHJvdG8aGnByb3RvL2ZlYXR1cmUvcmVhc29uLnByb3RvGhVwcm90by91c2VyL3VzZXIucHJvdG8icAoFRXZlbnQSDgoCaWQYASABKAlSAmlkEioKBWV2ZW50GAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFZXZlbnQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQikgQKD0V2YWx1YXRpb25FdmVudBIcCgl0aW1lc3RhbXAYASABKANSCXRpbWVzdGFtcBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhIXCgd1c2VyX2lkGAQgASgJUgZ1c2VySWQSIQoMdmFyaWF0aW9uX2lkGAUgASgJUgt2YXJpYXRpb25JZBIoCgR1c2VyGAYgASgLMhQuYnVja2V0ZWVyLnVzZXIuVXNlclIEdXNlchIxCgZyZWFzb24YByABKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5SZWFzb25SBnJlYXNvbhIQCgN0YWcYCCABKAlSA3RhZxI9Cglzb3VyY2VfaWQYCSABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgKIAEoCVIKc2RrVmVyc2lvbhJRCghtZXRhZGF0YRgLIAMoCzI1LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuRXZhbHVhdGlvbkV2ZW50Lk1ldGFkYXRhRW50cnlSCG1ldGFkYXRhGjsKDU1ldGFkYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLcAwoJR29hbEV2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEhcKB2dvYWxfaWQYAiABKAlSBmdvYWxJZBIXCgd1c2VyX2lkGAMgASgJUgZ1c2VySWQSFAoFdmFsdWUYBCABKAFSBXZhbHVlEigKBHVzZXIYBSABKAsyFC5idWNrZXRlZXIudXNlci5Vc2VyUgR1c2VyEkMKC2V2YWx1YXRpb25zGAYgAygLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvbkICGAFSC2V2YWx1YXRpb25zEhAKA3RhZxgHIAEoCVIDdGFnEj0KCXNvdXJjZV9pZBgIIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAkgASgJUgpzZGtWZXJzaW9uEksKCG1ldGFkYXRhGAogAygLMi8uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5Hb2FsRXZlbnQuTWV0YWRhdGFFbnRyeVIIbWV0YWRhdGEaOwoNTWV0YWRhdGFFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIsUCCgxNZXRyaWNzRXZlbnQSHAoJdGltZXN0YW1wGAEgASgDUgl0aW1lc3RhbXASKgoFZXZlbnQYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgVldmVudBI9Cglzb3VyY2VfaWQYAyABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgEIAEoCVIKc2RrVmVyc2lvbhJOCghtZXRhZGF0YRgFIAMoCzIyLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuTWV0cmljc0V2ZW50Lk1ldGFkYXRhRW50cnlSCG1ldGFkYXRhGjsKDU1ldGFkYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASL2AQogR2V0RXZhbHVhdGlvbkxhdGVuY3lNZXRyaWNzRXZlbnQSXAoGbGFiZWxzGAEgAygLMkQuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5HZXRFdmFsdWF0aW9uTGF0ZW5jeU1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzEjUKCGR1cmF0aW9uGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uUghkdXJhdGlvbho5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBOgIYASLWAQodR2V0RXZhbHVhdGlvblNpemVNZXRyaWNzRXZlbnQSWQoGbGFiZWxzGAEgAygLMkEuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5HZXRFdmFsdWF0aW9uU2l6ZU1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzEhsKCXNpemVfYnl0ZRgCIAEoBVIIc2l6ZUJ5dGUaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4AToCGAEiuQIKE0xhdGVuY3lNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSTwoGbGFiZWxzGAIgAygLMjcuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5MYXRlbmN5TWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMSOQoIZHVyYXRpb24YAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CAhgBUghkdXJhdGlvbhIlCg5sYXRlbmN5X3NlY29uZBgEIAEoAVINbGF0ZW5jeVNlY29uZBo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIu4BChBTaXplTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkEkwKBmxhYmVscxgCIAMoCzI0LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU2l6ZU1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzEhsKCXNpemVfYnl0ZRgDIAEoBVIIc2l6ZUJ5dGUaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASI1Ch1UaW1lb3V0RXJyb3JDb3VudE1ldHJpY3NFdmVudBIQCgN0YWcYASABKAlSA3RhZzoCGAEiNgoeSW50ZXJuYWxFcnJvckNvdW50TWV0cmljc0V2ZW50EhAKA3RhZxgBIAEoCVIDdGFnOgIYASLxAQogUmVkaXJlY3Rpb25SZXF1ZXN0RXhjZXB0aW9uRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSXAoGbGFiZWxzGAIgAygLMkQuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5SZWRpcmVjdGlvblJlcXVlc3RFeGNlcHRpb25FdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi5wEKG0JhZFJlcXVlc3RFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJXCgZsYWJlbHMYAiADKAsyPy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkJhZFJlcXVlc3RFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi6wEKHVVuYXV0aG9yaXplZEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElkKBmxhYmVscxgCIAMoCzJBLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuVW5hdXRob3JpemVkRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuUBChpGb3JiaWRkZW5FcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJWCgZsYWJlbHMYAiADKAsyPi5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkZvcmJpZGRlbkVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLjAQoZTm90Rm91bmRFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJVCgZsYWJlbHMYAiADKAsyPS5idWNrZXRlZXIuZXZlbnQuY2xpZW50Lk5vdEZvdW5kRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIusBCh1QYXlsb2FkVG9vTGFyZ2VFeGNlcHRpb25FdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJZCgZsYWJlbHMYAiADKAsyQS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlBheWxvYWRUb29MYXJnZUV4Y2VwdGlvbkV2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASL5AQokQ2xpZW50Q2xvc2VkUmVxdWVzdEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkEmAKBmxhYmVscxgCIAMoCzJILmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQ2xpZW50Q2xvc2VkUmVxdWVzdEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLvAQofSW50ZXJuYWxTZXJ2ZXJFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJbCgZsYWJlbHMYAiADKAsyQy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkludGVybmFsU2VydmVyRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIvcBCiNTZXJ2aWNlVW5hdmFpbGFibGVFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJfCgZsYWJlbHMYAiADKAsyRy5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNlcnZpY2VVbmF2YWlsYWJsZUVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLhAQoYVGltZW91dEVycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElQKBmxhYmVscxgCIAMoCzI8LmJ1Y2tldGVlci5ldmVudC5jbGllbnQuVGltZW91dEVycm9yTWV0cmljc0V2ZW50LkxhYmVsc0VudHJ5UgZsYWJlbHMaOQoLTGFiZWxzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ASLjAQoZSW50ZXJuYWxFcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJVCgZsYWJlbHMYAiADKAsyPS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkludGVybmFsRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIuEBChhOZXR3b3JrRXJyb3JNZXRyaWNzRXZlbnQSNAoGYXBpX2lkGAEgASgOMh0uYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5BcGlJZFIFYXBpSWQSVAoGbGFiZWxzGAIgAygLMjwuYnVja2V0ZWVyLmV2ZW50LmNsaWVudC5OZXR3b3JrRXJyb3JNZXRyaWNzRXZlbnQuTGFiZWxzRW50cnlSBmxhYmVscxo5CgtMYWJlbHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIukBChxJbnRlcm5hbFNka0Vycm9yTWV0cmljc0V2ZW50EjQKBmFwaV9pZBgBIAEoDjIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuQXBpSWRSBWFwaUlkElgKBmxhYmVscxgCIAMoCzJALmJ1Y2tldGVlci5ldmVudC5jbGllbnQuSW50ZXJuYWxTZGtFcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi4QEKGFVua25vd25FcnJvck1ldHJpY3NFdmVudBI0CgZhcGlfaWQYASABKA4yHS5idWNrZXRlZXIuZXZlbnQuY2xpZW50LkFwaUlkUgVhcGlJZBJUCgZsYWJlbHMYAiADKAsyPC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlVua25vd25FcnJvck1ldHJpY3NFdmVudC5MYWJlbHNFbnRyeVIGbGFiZWxzGjkKC0xhYmVsc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEixQEKCE9wc0V2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBInCg9mZWF0dXJlX3ZlcnNpb24YAyABKAVSDmZlYXR1cmVWZXJzaW9uEiEKDHZhcmlhdGlvbl9pZBgEIAEoCVILdmFyaWF0aW9uSWQSFwoHZ29hbF9pZBgFIAEoCVIGZ29hbElkEhcKB3VzZXJfaWQYBiABKAlSBnVzZXJJZCJcCg1Vc2VyR29hbEV2ZW50EhwKCXRpbWVzdGFtcBgBIAEoA1IJdGltZXN0YW1wEhcKB2dvYWxfaWQYAiABKAlSBmdvYWxJZBIUCgV2YWx1ZRgDIAEoAVIFdmFsdWUqcAoIU291cmNlSWQSCwoHVU5LTk9XThAAEgsKB0FORFJPSUQQARIHCgNJT1MQAhILCgNXRUIQAxoCCAESDQoJR09fU0VSVkVSEAUSDwoLTk9ERV9TRVJWRVIQBhIOCgpKQVZBU0NSSVBUEAciBAgEEAQqmwEKBUFwaUlkEg8KC1VOS05PV05fQVBJEAASEgoOR0VUX0VWQUxVQVRJT04QARITCg9HRVRfRVZBTFVBVElPTlMQAhITCg9SRUdJU1RFUl9FVkVOVFMQAxIVChFHRVRfRkVBVFVSRV9GTEFHUxAEEhUKEUdFVF9TRUdNRU5UX1VTRVJTEAUSFQoRU0RLX0dFVF9WQVJJQVRJT04QZEI2WjRnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXZlbnQvY2xpZW50YgZwcm90bzMK/QYKInByb3RvL2NvZGVyZWYvY29kZV9yZWZlcmVuY2UucHJvdG8SEWJ1Y2tldGVlci5jb2RlcmVmIogGCg1Db2RlUmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSGwoJZmlsZV9wYXRoGAMgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgEIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBSABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgGIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZBIdCgpjcmVhdGVkX2F0GA4gASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgPIAEoA1IJdXBkYXRlZEF0Eh0KCnNvdXJjZV91cmwYECABKAlSCXNvdXJjZVVybBIdCgpicmFuY2hfdXJsGBEgASgJUglicmFuY2hVcmwSJQoOZmlsZV9leHRlbnNpb24YEiABKAlSDWZpbGVFeHRlbnNpb24iZAoOUmVwb3NpdG9yeVR5cGUSHwobUkVQT1NJVE9SWV9UWVBFX1VOU1BFQ0lGSUVEEAASCgoGR0lUSFVCEAESCgoGR0lUTEFCEAISDQoJQklUQlVDS0VUEAMSCgoGQ1VTVE9NEARCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2NvZGVyZWZiBnByb3RvMwqONAobcHJvdG8vY29kZXJlZi9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuY29kZXJlZhoicHJvdG8vY29kZXJlZi9jb2RlX3JlZmVyZW5jZS5wcm90bxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoucHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90byJaChdHZXRDb2RlUmVmZXJlbmNlUmVxdWVzdBITCgJpZBgBIAEoCUID4EECUgJpZBIqCg5lbnZpcm9ubWVudF9pZBgCIAEoCUID4EECUg1lbnZpcm9ubWVudElkImMKGEdldENvZGVSZWZlcmVuY2VSZXNwb25zZRJHCg5jb2RlX3JlZmVyZW5jZRgBIAEoCzIgLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2VSDWNvZGVSZWZlcmVuY2UitgUKGUxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QSKgoOZW52aXJvbm1lbnRfaWQYASABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIiCgpmZWF0dXJlX2lkGAIgASgJQgPgQQJSCWZlYXR1cmVJZBInCg9yZXBvc2l0b3J5X25hbWUYAyABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYBCABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYBSABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgGIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIWCgZjdXJzb3IYByABKAlSBmN1cnNvchIbCglwYWdlX3NpemUYCCABKANSCHBhZ2VTaXplEk8KCG9yZGVyX2J5GAkgASgOMjQuYnVja2V0ZWVyLmNvZGVyZWYuTGlzdENvZGVSZWZlcmVuY2VzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmQKD29yZGVyX2RpcmVjdGlvbhgKIAEoDjI7LmJ1Y2tldGVlci5jb2RlcmVmLkxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDmZpbGVfZXh0ZW5zaW9uGAsgASgJUg1maWxlRXh0ZW5zaW9uIjYKB09yZGVyQnkSCwoHREVGQVVMVBAAEg4KCkNSRUFURURfQVQQARIOCgpVUERBVEVEX0FUEAIiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABIqABChpMaXN0Q29kZVJlZmVyZW5jZXNSZXNwb25zZRJJCg9jb2RlX3JlZmVyZW5jZXMYASADKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg5jb2RlUmVmZXJlbmNlcxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCLVBAoaQ3JlYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QSIgoKZmVhdHVyZV9pZBgBIAEoCUID4EECUglmZWF0dXJlSWQSKgoOZW52aXJvbm1lbnRfaWQYAiABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIgCglmaWxlX3BhdGgYAyABKAlCA+BBAlIIZmlsZVBhdGgSJAoLbGluZV9udW1iZXIYBCABKAVCA+BBAlIKbGluZU51bWJlchImCgxjb2RlX3NuaXBwZXQYBSABKAlCA+BBAlILY29kZVNuaXBwZXQSJgoMY29udGVudF9oYXNoGAYgASgJQgPgQQJSC2NvbnRlbnRIYXNoEhgKB2FsaWFzZXMYByADKAlSB2FsaWFzZXMSLAoPcmVwb3NpdG9yeV9uYW1lGAggASgJQgPgQQJSDnJlcG9zaXRvcnlOYW1lEi4KEHJlcG9zaXRvcnlfb3duZXIYCSABKAlCA+BBAlIPcmVwb3NpdG9yeU93bmVyEl0KD3JlcG9zaXRvcnlfdHlwZRgKIAEoDjIvLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2UuUmVwb3NpdG9yeVR5cGVCA+BBAlIOcmVwb3NpdG9yeVR5cGUSKwoRcmVwb3NpdG9yeV9icmFuY2gYCyABKAlSEHJlcG9zaXRvcnlCcmFuY2gSHwoLY29tbWl0X2hhc2gYDCABKAlSCmNvbW1pdEhhc2gSKgoOZmlsZV9leHRlbnNpb24YDSABKAlCA+BBAlINZmlsZUV4dGVuc2lvbiJmChtDcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIrIEChpVcGRhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBITCgJpZBgBIAEoCUID4EECUgJpZBIqCg5lbnZpcm9ubWVudF9pZBgCIAEoCUID4EECUg1lbnZpcm9ubWVudElkEiAKCWZpbGVfcGF0aBgDIAEoCUID4EECUghmaWxlUGF0aBIkCgtsaW5lX251bWJlchgEIAEoBUID4EECUgpsaW5lTnVtYmVyEiYKDGNvZGVfc25pcHBldBgFIAEoCUID4EECUgtjb2RlU25pcHBldBImCgxjb250ZW50X2hhc2gYBiABKAlCA+BBAlILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5maWxlX2V4dGVuc2lvbhgNIAEoCVINZmlsZUV4dGVuc2lvbiJmChtVcGRhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIl0KGkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEioKDmVudmlyb25tZW50X2lkGAIgASgJQgPgQQJSDWVudmlyb25tZW50SWQiHQobRGVsZXRlQ29kZVJlZmVyZW5jZVJlc3BvbnNlMpUeChRDb2RlUmVmZXJlbmNlU2VydmljZRL3BQoQR2V0Q29kZVJlZmVyZW5jZRIqLmJ1Y2tldGVlci5jb2RlcmVmLkdldENvZGVSZWZlcmVuY2VSZXF1ZXN0GisuYnVja2V0ZWVyLmNvZGVyZWYuR2V0Q29kZVJlZmVyZW5jZVJlc3BvbnNlIokFkkHlBAoOQ29kZSBSZWZlcmVuY2USA0dldBobR2V0IGEgY29kZSByZWZlcmVuY2UgYnkgSUQuKhl3ZWIudjEuY29kZV9yZWZlcmVuY2UuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAhoSGC92MS9jb2RlX3JlZmVyZW5jZXMve2lkfRLgBAoSTGlzdENvZGVSZWZlcmVuY2VzEiwuYnVja2V0ZWVyLmNvZGVyZWYuTGlzdENvZGVSZWZlcmVuY2VzUmVxdWVzdBotLmJ1Y2tldGVlci5jb2RlcmVmLkxpc3RDb2RlUmVmZXJlbmNlc1Jlc3BvbnNlIuwDkkHNAwoOQ29kZSBSZWZlcmVuY2USBExpc3QaLUxpc3QgY29kZSByZWZlcmVuY2VzIHdpdGggb3B0aW9uYWwgZmlsdGVyaW5nLioad2ViLnYxLmNvZGVfcmVmZXJlbmNlLmxpc3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIVEhMvdjEvY29kZV9yZWZlcmVuY2VzErAGChNDcmVhdGVDb2RlUmVmZXJlbmNlEi0uYnVja2V0ZWVyLmNvZGVyZWYuQ3JlYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QaLi5idWNrZXRlZXIuY29kZXJlZi5DcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UiuQWSQZcFCg5Db2RlIFJlZmVyZW5jZRIGQ3JlYXRlGkdDcmVhdGUgYSBuZXcgY29kZSByZWZlcmVuY2UuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCByb2xlLiocd2ViLnYxLmNvZGVfcmVmZXJlbmNlLmNyZWF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIYIhMvdjEvY29kZV9yZWZlcmVuY2VzOgEqErsGChNVcGRhdGVDb2RlUmVmZXJlbmNlEi0uYnVja2V0ZWVyLmNvZGVyZWYuVXBkYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QaLi5idWNrZXRlZXIuY29kZXJlZi5VcGRhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UixAWSQZ0FCg5Db2RlIFJlZmVyZW5jZRIGVXBkYXRlGk1VcGRhdGUgYW4gZXhpc3RpbmcgY29kZSByZWZlcmVuY2UuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCByb2xlLiocd2ViLnYxLmNvZGVfcmVmZXJlbmNlLnVwZGF0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIdMhgvdjEvY29kZV9yZWZlcmVuY2VzL3tpZH06ASoSrgYKE0RlbGV0ZUNvZGVSZWZlcmVuY2USLS5idWNrZXRlZXIuY29kZXJlZi5EZWxldGVDb2RlUmVmZXJlbmNlUmVxdWVzdBouLmJ1Y2tldGVlci5jb2RlcmVmLkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXNwb25zZSK3BZJBkwUKDkNvZGUgUmVmZXJlbmNlEgZEZWxldGUaQ0RlbGV0ZSBhIGNvZGUgcmVmZXJlbmNlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgcm9sZS4qHHdlYi52MS5jb2RlX3JlZmVyZW5jZS5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCGioYL3YxL2NvZGVfcmVmZXJlbmNlcy97aWR9QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9jb2RlcmVmYgZwcm90bzMK058BChtwcm90by9nYXRld2F5L3NlcnZpY2UucHJvdG8SEWJ1Y2tldGVlci5nYXRld2F5Ghxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8aGXByb3RvL2NvbW1vbi9zdHJpbmcucHJvdG8aFXByb3RvL3VzZXIvdXNlci5wcm90bxoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvGhtwcm90by9mZWF0dXJlL2ZlYXR1cmUucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VydmljZS5wcm90bxodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8aHHByb3RvL2ZlYXR1cmUvc3RyYXRlZ3kucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aFXByb3RvL3B1c2gvcHVzaC5wcm90bxoYcHJvdG8vcHVzaC9zZXJ2aWNlLnByb3RvGhtwcm90by9hY2NvdW50L3NlcnZpY2UucHJvdG8aG3Byb3RvL2FjY291bnQvYWNjb3VudC5wcm90bxoecHJvdG8vZXZlbnQvY2xpZW50L2V2ZW50LnByb3RvGiJwcm90by9jb2RlcmVmL2NvZGVfcmVmZXJlbmNlLnByb3RvGhtwcm90by9jb2RlcmVmL3NlcnZpY2UucHJvdG8iDQoLUGluZ1JlcXVlc3QiIgoMUGluZ1Jlc3BvbnNlEhIKBHRpbWUYASABKANSBHRpbWUi1wEKFkdldEZlYXR1cmVGbGFnc1JlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoQZmVhdHVyZV9mbGFnc19pZBgCIAEoCVIOZmVhdHVyZUZsYWdzSWQSIQoMcmVxdWVzdGVkX2F0GAMgASgDUgtyZXF1ZXN0ZWRBdBI9Cglzb3VyY2VfaWQYBCABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBIfCgtzZGtfdmVyc2lvbhgFIAEoCVIKc2RrVmVyc2lvbiL8AQoXR2V0RmVhdHVyZUZsYWdzUmVzcG9uc2USKAoQZmVhdHVyZV9mbGFnc19pZBgBIAEoCVIOZmVhdHVyZUZsYWdzSWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcxI5ChlhcmNoaXZlZF9mZWF0dXJlX2ZsYWdfaWRzGAMgAygJUhZhcmNoaXZlZEZlYXR1cmVGbGFnSWRzEiEKDHJlcXVlc3RlZF9hdBgEIAEoA1ILcmVxdWVzdGVkQXQSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSK8AQoWR2V0U2VnbWVudFVzZXJzUmVxdWVzdBIfCgtzZWdtZW50X2lkcxgBIAMoCVIKc2VnbWVudElkcxIhCgxyZXF1ZXN0ZWRfYXQYAiABKANSC3JlcXVlc3RlZEF0Ej0KCXNvdXJjZV9pZBgDIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAQgASgJUgpzZGtWZXJzaW9uItUBChdHZXRTZWdtZW50VXNlcnNSZXNwb25zZRJECg1zZWdtZW50X3VzZXJzGAEgAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJzUgxzZWdtZW50VXNlcnMSLgoTZGVsZXRlZF9zZWdtZW50X2lkcxgCIAMoCVIRZGVsZXRlZFNlZ21lbnRJZHMSIQoMcmVxdWVzdGVkX2F0GAMgASgDUgtyZXF1ZXN0ZWRBdBIhCgxmb3JjZV91cGRhdGUYBCABKAhSC2ZvcmNlVXBkYXRlIvoDChVHZXRFdmFsdWF0aW9uc1JlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoEdXNlchgCIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISLgoTdXNlcl9ldmFsdWF0aW9uc19pZBgDIAEoCVIRdXNlckV2YWx1YXRpb25zSWQSIQoKZmVhdHVyZV9pZBgEIAEoCUICGAFSCWZlYXR1cmVJZBI9Cglzb3VyY2VfaWQYBSABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZBJ8Chl1c2VyX2V2YWx1YXRpb25fY29uZGl0aW9uGAYgASgLMkAuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXF1ZXN0LlVzZXJFdmFsdWF0aW9uQ29uZGl0aW9uUhd1c2VyRXZhbHVhdGlvbkNvbmRpdGlvbhIfCgtzZGtfdmVyc2lvbhgHIAEoCVIKc2RrVmVyc2lvbhp0ChdVc2VyRXZhbHVhdGlvbkNvbmRpdGlvbhIhCgxldmFsdWF0ZWRfYXQYASABKANSC2V2YWx1YXRlZEF0EjYKF3VzZXJfYXR0cmlidXRlc191cGRhdGVkGAIgASgIUhV1c2VyQXR0cmlidXRlc1VwZGF0ZWQizgEKFkdldEV2YWx1YXRpb25zUmVzcG9uc2USPgoFc3RhdGUYASABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5Vc2VyRXZhbHVhdGlvbnMuU3RhdGVSBXN0YXRlEkQKC2V2YWx1YXRpb25zGAIgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUgtldmFsdWF0aW9ucxIuChN1c2VyX2V2YWx1YXRpb25zX2lkGAMgASgJUhF1c2VyRXZhbHVhdGlvbnNJZCLRAQoUR2V0RXZhbHVhdGlvblJlcXVlc3QSEAoDdGFnGAEgASgJUgN0YWcSKAoEdXNlchgCIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEj0KCXNvdXJjZV9pZBgEIAEoDjIgLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuU291cmNlSWRSCHNvdXJjZUlkEh8KC3Nka192ZXJzaW9uGAUgASgJUgpzZGtWZXJzaW9uIlYKFUdldEV2YWx1YXRpb25SZXNwb25zZRI9CgpldmFsdWF0aW9uGAEgASgLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblIKZXZhbHVhdGlvbiKuAQoVUmVnaXN0ZXJFdmVudHNSZXF1ZXN0EjUKBmV2ZW50cxgBIAMoCzIdLmJ1Y2tldGVlci5ldmVudC5jbGllbnQuRXZlbnRSBmV2ZW50cxIfCgtzZGtfdmVyc2lvbhgCIAEoCVIKc2RrVmVyc2lvbhI9Cglzb3VyY2VfaWQYAyABKA4yIC5idWNrZXRlZXIuZXZlbnQuY2xpZW50LlNvdXJjZUlkUghzb3VyY2VJZCKUAgoWUmVnaXN0ZXJFdmVudHNSZXNwb25zZRJNCgZlcnJvcnMYASADKAsyNS5idWNrZXRlZXIuZ2F0ZXdheS5SZWdpc3RlckV2ZW50c1Jlc3BvbnNlLkVycm9yc0VudHJ5UgZlcnJvcnMaPwoFRXJyb3ISHAoJcmV0cmlhYmxlGAEgASgIUglyZXRyaWFibGUSGAoHbWVzc2FnZRgCIAEoCVIHbWVzc2FnZRpqCgtFcnJvcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJFCgV2YWx1ZRgCIAEoCzIvLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVzcG9uc2UuRXJyb3JSBXZhbHVlOgI4ASKcAQoMVHJhY2tSZXF1ZXN0EhYKBmFwaWtleRgBIAEoCVIGYXBpa2V5EhYKBnVzZXJpZBgCIAEoCVIGdXNlcmlkEhYKBmdvYWxpZBgDIAEoCVIGZ29hbGlkEhAKA3RhZxgEIAEoCVIDdGFnEhwKCXRpbWVzdGFtcBgFIAEoA1IJdGltZXN0YW1wEhQKBXZhbHVlGAYgASgBUgV2YWx1ZSIPCg1UcmFja1Jlc3BvbnNlIt0CChRDcmVhdGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24STwoOdmFyaWF0aW9uX3R5cGUYBCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxISCgR0YWdzGAYgAygJUgR0YWdzEiwKEm9uX3ZhcmlhdGlvbl9pbmRleBgHIAEoBVIQb25WYXJpYXRpb25JbmRleBIuChNvZmZfdmFyaWF0aW9uX2luZGV4GAggASgFUhFvZmZWYXJpYXRpb25JbmRleCJNChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUiIwoRR2V0RmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkIkoKEkdldEZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSL1AQoTTGlzdEZlYXR1cmVzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEkkKCG9yZGVyX2J5GAMgASgOMi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El4KD29yZGVyX2RpcmVjdGlvbhgEIAEoDjI1LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uIk4KFExpc3RGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMilgYKFFVwZGF0ZUZlYXR1cmVSZXF1ZXN0EhgKB2NvbW1lbnQYASABKAlSB2NvbW1lbnQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQSDgoCaWQYAyABKAlSAmlkEjAKBG5hbWUYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uEjUKBHRhZ3MYBiABKAsyIS5idWNrZXRlZXIuY29tbW9uLlN0cmluZ0xpc3RWYWx1ZVIEdGFncxI0CgdlbmFibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIHZW5hYmxlZBI2CghhcmNoaXZlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkUKCnZhcmlhdGlvbnMYCSABKAsyJS5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25MaXN0VmFsdWVSCnZhcmlhdGlvbnMSTgoNcHJlcmVxdWlzaXRlcxgKIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZUxpc3RWYWx1ZVINcHJlcmVxdWlzaXRlcxI8Cgd0YXJnZXRzGAsgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0TGlzdFZhbHVlUgd0YXJnZXRzEjYKBXJ1bGVzGAwgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZUxpc3RWYWx1ZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgNIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSQQoNb2ZmX3ZhcmlhdGlvbhgOIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIMb2ZmVmFyaWF0aW9uIk0KFVVwZGF0ZUZlYXR1cmVSZXNwb25zZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZSKQAgoRTGlzdFB1c2hlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJECghvcmRlcl9ieRgDIAEoDjIpLmJ1Y2tldGVlci5wdXNoLkxpc3RQdXNoZXNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWQoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjAuYnVja2V0ZWVyLnB1c2guTGlzdFB1c2hlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkInsKEkxpc3RQdXNoZXNSZXNwb25zZRIsCgZwdXNoZXMYASADKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgZwdXNoZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiawoRQ3JlYXRlUHVzaFJlcXVlc3QSEgoEdGFncxgBIAMoCVIEdGFncxISCgRuYW1lGAIgASgJUgRuYW1lEi4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYAyABKAxSEWZjbVNlcnZpY2VBY2NvdW50Ij4KEkNyZWF0ZVB1c2hSZXNwb25zZRIoCgRwdXNoGAEgASgLMhQuYnVja2V0ZWVyLnB1c2guUHVzaFIEcHVzaCIgCg5HZXRQdXNoUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQiOwoPR2V0UHVzaFJlc3BvbnNlEigKBHB1c2gYASABKAsyFC5idWNrZXRlZXIucHVzaC5QdXNoUgRwdXNoIoACChFVcGRhdGVQdXNoUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSEgoEdGFncxgCIAMoCVIEdGFncxIwCgRuYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEpQBCgdkZWxldGVkGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJekkFbKgdkZWxldGVkMlBpZiB0cnVlLCB0aGUgcHVzaCBub3RpZmljYXRpb24gd2lsbCBiZSBkZWxldGVkIGFuZCBvdGhlciBmaWVsZHMgd2lsbCBiZSBpZ25vcmVkLlIHZGVsZXRlZCI+ChJVcGRhdGVQdXNoUmVzcG9uc2USKAoEcHVzaBgBIAEoCzIULmJ1Y2tldGVlci5wdXNoLlB1c2hSBHB1c2gipQMKFkNyZWF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSHQoKZmlyc3RfbmFtZRgHIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgIIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYCSABKAlSCGxhbmd1YWdlIlEKF0NyZWF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiiQgKFlVwZGF0ZUFjY291bnRWMlJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEicKD29yZ2FuaXphdGlvbl9pZBgCIAEoCVIOb3JnYW5pemF0aW9uSWQSMAoEbmFtZRgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIEbmFtZRJGChBhdmF0YXJfaW1hZ2VfdXJsGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUg5hdmF0YXJJbWFnZVVybBJsChFvcmdhbml6YXRpb25fcm9sZRgFIAEoCzI/LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuT3JnYW5pemF0aW9uUm9sZVZhbHVlUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxI7CgpmaXJzdF9uYW1lGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUglmaXJzdE5hbWUSOQoJbGFzdF9uYW1lGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUghsYXN0TmFtZRI4CghsYW5ndWFnZRgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVIIbGFuZ3VhZ2USOAoJbGFzdF9zZWVuGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSCGxhc3RTZWVuElEKBmF2YXRhchgLIAEoCzI5LmJ1Y2tldGVlci5hY2NvdW50LlVwZGF0ZUFjY291bnRWMlJlcXVlc3QuQWNjb3VudFYyQXZhdGFyUgZhdmF0YXISoAEKCGRpc2FibGVkGAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJokkFlKghkaXNhYmxlZDJZaWYgZGlzYWJsZWQgaXMgdHJ1ZSwgdGhlIGFjY291bnQgd2lsbCBiZSBkaXNhYmxlZC4gSWYgZmFsc2UsIHRoZSBhY2NvdW50IHdpbGwgYmUgZW5hYmxlZC5SCGRpc2FibGVkEooBCgdkZWxldGVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJUkkFRKgdkZWxldGVkMkZpZiB0cnVlLCB0aGUgYWNjb3VudCB3aWxsIGJlIGRlbGV0ZWQgYW5kIG90aGVyIGZpZWxkcyB3aWxsIGJlIGlnbm9yZWQuUgdkZWxldGVkIlEKF1VwZGF0ZUFjY291bnRWMlJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiVAoTR2V0QWNjb3VudFYyUmVxdWVzdBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSJwoPb3JnYW5pemF0aW9uX2lkGAIgASgJUg5vcmdhbml6YXRpb25JZCJOChRHZXRBY2NvdW50VjJSZXNwb25zZRI2CgdhY2NvdW50GAEgASgLMhwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyUgdhY2NvdW50ImEKIkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlcXVlc3QSFAoFZW1haWwYASABKAlSBWVtYWlsEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkIl0KI0dldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlEjYKB2FjY291bnQYASABKAsyHC5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjJSB2FjY291bnQiNwoMR2V0TWVSZXF1ZXN0EicKD29yZ2FuaXphdGlvbl9pZBgBIAEoCVIOb3JnYW5pemF0aW9uSWQiTAoNR2V0TWVSZXNwb25zZRI7CgdhY2NvdW50GAEgASgLMiEuYnVja2V0ZWVyLmFjY291bnQuQ29uc29sZUFjY291bnRSB2FjY291bnQi2gQKFUxpc3RBY2NvdW50c1YyUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEicKD29yZ2FuaXphdGlvbl9pZBgDIAEoCVIOb3JnYW5pemF0aW9uSWQSSwoIb3JkZXJfYnkYBCABKA4yMC5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJgCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNy5idWNrZXRlZXIuYWNjb3VudC5MaXN0QWNjb3VudHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAYgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSSAoRb3JnYW5pemF0aW9uX3JvbGUYCCABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIQb3JnYW5pemF0aW9uUm9sZRJDCg5lbnZpcm9ubWVudF9pZBgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZVINZW52aXJvbm1lbnRJZBJGChBlbnZpcm9ubWVudF9yb2xlGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSD2Vudmlyb25tZW50Um9sZSKLAQoWTGlzdEFjY291bnRzVjJSZXNwb25zZRI4CghhY2NvdW50cxgBIAMoCzIcLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMlIIYWNjb3VudHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiKQoXR2V0Q29kZVJlZmVyZW5jZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkImMKGEdldENvZGVSZWZlcmVuY2VSZXNwb25zZRJHCg5jb2RlX3JlZmVyZW5jZRgBIAEoCzIgLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2VSDWNvZGVSZWZlcmVuY2UizQIKGUxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJPCghvcmRlcl9ieRgDIAEoDjI0LmJ1Y2tldGVlci5jb2RlcmVmLkxpc3RDb2RlUmVmZXJlbmNlc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJkCg9vcmRlcl9kaXJlY3Rpb24YBCABKA4yOy5idWNrZXRlZXIuY29kZXJlZi5MaXN0Q29kZVJlZmVyZW5jZXNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgFIAEoCVINc2VhcmNoS2V5d29yZBIdCgpmZWF0dXJlX2lkGAYgASgJUglmZWF0dXJlSWQioAEKGkxpc3RDb2RlUmVmZXJlbmNlc1Jlc3BvbnNlEkkKD2NvZGVfcmVmZXJlbmNlcxgBIAMoCzIgLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2VSDmNvZGVSZWZlcmVuY2VzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IqMEChpDcmVhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYAiABKAlSDWVudmlyb25tZW50SWQSGwoJZmlsZV9wYXRoGAMgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgEIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBSABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgGIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5maWxlX2V4dGVuc2lvbhgNIAEoCVINZmlsZUV4dGVuc2lvbiJmChtDcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIr8CChpVcGRhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSGwoJZmlsZV9wYXRoGAIgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgDIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBCABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgFIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgGIAMoCVIHYWxpYXNlcxIrChFyZXBvc2l0b3J5X2JyYW5jaBgHIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgIIAEoCVIKY29tbWl0SGFzaBIlCg5maWxlX2V4dGVuc2lvbhgJIAEoCVINZmlsZUV4dGVuc2lvbiJmChtVcGRhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2USRwoOY29kZV9yZWZlcmVuY2UYASABKAsyIC5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlUg1jb2RlUmVmZXJlbmNlIiwKGkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZCIdChtEZWxldGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UymUYKB0dhdGV3YXkS9AIKDkdldEV2YWx1YXRpb25zEiguYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXF1ZXN0GikuYnVja2V0ZWVyLmdhdGV3YXkuR2V0RXZhbHVhdGlvbnNSZXNwb25zZSKMApJB7QEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSD0dldCBFdmFsdWF0aW9ucxphR2V0cyBhbGwgdGhlIGV2YWx1YXRpb25zIGZvciBhIHNwZWNpZmljIHVzZXIuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYENMSUVOVGAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkuZ2V0X2V2YWx1YXRpb25zckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhUiEC9nZXRfZXZhbHVhdGlvbnM6ASoS7gIKDUdldEV2YWx1YXRpb24SJy5idWNrZXRlZXIuZ2F0ZXdheS5HZXRFdmFsdWF0aW9uUmVxdWVzdBooLmJ1Y2tldGVlci5nYXRld2F5LkdldEV2YWx1YXRpb25SZXNwb25zZSKJApJB6wEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSDkdldCBFdmFsdWF0aW9uGmFHZXRzIGEgc2luZ2xlIGV2YWx1YXRpb24gZm9yIGEgc3BlY2lmaWMgdXNlci4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgQ0xJRU5UYCBBUEkgS2V5IHJvbGUuKhphcGkuZ2F0ZXdheS5nZXRfZXZhbHVhdGlvbnJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIUIg8vZ2V0X2V2YWx1YXRpb246ASoS+gIKD0dldEZlYXR1cmVGbGFncxIpLmJ1Y2tldGVlci5nYXRld2F5LkdldEZlYXR1cmVGbGFnc1JlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlRmxhZ3NSZXNwb25zZSKPApJB7gEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSEUdldCBGZWF0dXJlIEZsYWdzGl5HZXRzIGFsbCB0aGUgZmVhdHVyZSBmbGFnIGluIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCBpdCBuZWVkcyBgU0VSVkVSYCBBUEkgS2V5IHJvbGUuKh1hcGkuZ2F0ZXdheS5nZXRfZmVhdHVyZV9mbGFnc3JCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIXIhIvZ2V0X2ZlYXR1cmVfZmxhZ3M6ASoS+wIKD0dldFNlZ21lbnRVc2VycxIpLmJ1Y2tldGVlci5nYXRld2F5LkdldFNlZ21lbnRVc2Vyc1JlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRTZWdtZW50VXNlcnNSZXNwb25zZSKQApJB7wEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSEUdldCBTZWdtZW50IFVzZXJzGl9HZXRzIGFsbCB0aGUgc2VnbWVudCB1c2VycyBpbiBhbiBlbnZpcm9ubWVudC4gVG8gY2FsbCB0aGlzIEFQSSwgaXQgbmVlZHMgYFNFUlZFUmAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkuZ2V0X3NlZ21lbnRfdXNlcnNyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFyISL2dldF9zZWdtZW50X3VzZXJzOgEqEvkCCg5SZWdpc3RlckV2ZW50cxIoLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVxdWVzdBopLmJ1Y2tldGVlci5nYXRld2F5LlJlZ2lzdGVyRXZlbnRzUmVzcG9uc2UikQKSQfIBChZDbGllbnQgYW5kIFNlcnZlciBTREtzEg9SZWdpc3RlciBFdmVudHMaZlRoaXMgQVBJIGlzIGZvciByZXBvcnRpbmcgR29hbCBldmVudHMuIFRvIGNhbGwgdGhpcyBBUEksIGl0IG5lZWRzIGEgYENMSUVOVGAgb3IgYFNFUlZFUmAgQVBJIEtleSByb2xlLiobYXBpLmdhdGV3YXkucmVnaXN0ZXJfZXZlbnRzckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhUiEC9yZWdpc3Rlcl9ldmVudHM6ASoSjwIKBVRyYWNrEh8uYnVja2V0ZWVyLmdhdGV3YXkuVHJhY2tSZXF1ZXN0GiAuYnVja2V0ZWVyLmdhdGV3YXkuVHJhY2tSZXNwb25zZSLCAZJBsAEKFkNsaWVudCBhbmQgU2VydmVyIFNES3MSBVRyYWNrGnxUaGlzIEFQSSBpcyBhbiBpbnRlZ3JhdGlvbiBmb3IgR29vZ2xlIFRhYiBNYW5hZ2VyIHRvIHJlcG9ydCBHb2FsIGV2ZW50cy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgQ0xJRU5UYCBBUEkgS2V5IHJvbGUuKhFhcGkuZ2F0ZXdheS50cmFja4LT5JMCCBIGL3RyYWNrEtUCCg1DcmVhdGVGZWF0dXJlEicuYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaKC5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVGZWF0dXJlUmVzcG9uc2Ui8AGSQdUBCg1GZWF0dXJlIEZsYWdzEgZDcmVhdGUaWENyZWF0ZSBhIG5ldyBGZWF0dXJlIEZsYWcuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHmFwaS5nYXRld2F5LnYxLmZlYXR1cmVzLmNyZWF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIRIgwvdjEvZmVhdHVyZXM6ASoStQIKCkdldEZlYXR1cmUSJC5idWNrZXRlZXIuZ2F0ZXdheS5HZXRGZWF0dXJlUmVxdWVzdBolLmJ1Y2tldGVlci5nYXRld2F5LkdldEZlYXR1cmVSZXNwb25zZSLZAZJBvAEKDUZlYXR1cmUgRmxhZ3MSA0dldBpFR2V0IGEgRmVhdHVyZSBGbGFnLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhthcGkuZ2F0ZXdheS52MS5mZWF0dXJlcy5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCExIRL3YxL2ZlYXR1cmVzL3tpZH0SuAIKDExpc3RGZWF0dXJlcxImLmJ1Y2tldGVlci5nYXRld2F5Lkxpc3RGZWF0dXJlc1JlcXVlc3QaJy5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0RmVhdHVyZXNSZXNwb25zZSLWAZJBvgEKDUZlYXR1cmUgRmxhZ3MSBExpc3QaRUxpc3QgRmVhdHVyZSBGbGFncy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiocYXBpLmdhdGV3YXkudjEuZmVhdHVyZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIOEgwvdjEvZmVhdHVyZXMS1gIKDVVwZGF0ZUZlYXR1cmUSJy5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVGZWF0dXJlUmVxdWVzdBooLmJ1Y2tldGVlci5nYXRld2F5LlVwZGF0ZUZlYXR1cmVSZXNwb25zZSLxAZJB0QEKDUZlYXR1cmUgRmxhZ3MSBlVwZGF0ZRpUVXBkYXRlIGEgRmVhdHVyZSBGbGFnLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh5hcGkuZ2F0ZXdheS52MS5mZWF0dXJlcy51cGRhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCFjIRL3YxL2ZlYXR1cmVzL3tpZH06ASoS7gEKBFBpbmcSHi5idWNrZXRlZXIuZ2F0ZXdheS5QaW5nUmVxdWVzdBofLmJ1Y2tldGVlci5nYXRld2F5LlBpbmdSZXNwb25zZSKkAZJBkwEKB1V0aWxpdHkSBFBpbmcaKlBpbmcgdGhlIHNlcnZlciB0byBjaGVjayBpdHMgYXZhaWxhYmlsaXR5LioQYXBpLmdhdGV3YXkucGluZ2IAckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAgcSBS9waW5nEqACCgpMaXN0UHVzaGVzEiQuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdFB1c2hlc1JlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0UHVzaGVzUmVzcG9uc2UixAGSQa4BCgZQdXNoZXMSBExpc3QaPkxpc3QgcHVzaGVzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhphcGkuZ2F0ZXdheS52MS5wdXNoZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIMEgovdjEvcHVzaGVzEvMCCgpDcmVhdGVQdXNoEiQuYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlUHVzaFJlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVQdXNoUmVzcG9uc2UilwKSQYACCgZQdXNoZXMSBkNyZWF0ZRqLAUNyZWF0ZSBhIG5ldyBQdXNoIG5vdGlmaWNhdGlvbiB0aHJvdWdoIEdvb2dsZSBGaXJlYmFzZSBDbG91ZCBNZXNzYWdpbmcgKEZDTSkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHGFwaS5nYXRld2F5LnYxLnB1c2hlcy5jcmVhdGVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDSIIL3YxL3B1c2g6ASoSpAIKB0dldFB1c2gSIS5idWNrZXRlZXIuZ2F0ZXdheS5HZXRQdXNoUmVxdWVzdBoiLmJ1Y2tldGVlci5nYXRld2F5LkdldFB1c2hSZXNwb25zZSLRAZJBuAEKBlB1c2hlcxIDR2V0GkpHZXQgYSBQdXNoIG5vdGlmaWNhdGlvbi4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLioZYXBpLmdhdGV3YXkudjEucHVzaGVzLmdldHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIPEg0vdjEvcHVzaC97aWR9EsACCgpVcGRhdGVQdXNoEiQuYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlUHVzaFJlcXVlc3QaJS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVQdXNoUmVzcG9uc2Ui5AGSQcgBCgZQdXNoZXMSBlVwZGF0ZRpUVXBkYXRlIGEgUHVzaCBub3RpZmljYXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKhxhcGkuZ2F0ZXdheS52MS5wdXNoZXMudXBkYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhIyDS92MS9wdXNoL3tpZH06ASoSzgIKD0NyZWF0ZUFjY291bnRWMhIpLmJ1Y2tldGVlci5nYXRld2F5LkNyZWF0ZUFjY291bnRWMlJlcXVlc3QaKi5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVBY2NvdW50VjJSZXNwb25zZSLjAZJByQEKB0FjY291bnQSBkNyZWF0ZRpTQ3JlYXRlIGEgbmV3IEFjY291bnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFdSSVRFYCBvciBgQURNSU5gIEFQSSBLZXkgcm9sZS4qHWFwaS5nYXRld2F5LnYxLmFjY291bnQuY3JlYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhAiCy92MS9hY2NvdW50OgEqEuUCCg9VcGRhdGVBY2NvdW50VjISKS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVBY2NvdW50VjJSZXF1ZXN0GiouYnVja2V0ZWVyLmdhdGV3YXkuVXBkYXRlQWNjb3VudFYyUmVzcG9uc2Ui+gGSQcYBCgdBY2NvdW50EgZVcGRhdGUaUFVwZGF0ZSBhbiBBY2NvdW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKh1hcGkuZ2F0ZXdheS52MS5hY2NvdW50LnVwZGF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIqMiUvdjEvYWNjb3VudC97b3JnYW5pemF0aW9uX2lkfS97ZW1haWx9OgEqEtcCCgxHZXRBY2NvdW50VjISJi5idWNrZXRlZXIuZ2F0ZXdheS5HZXRBY2NvdW50VjJSZXF1ZXN0GicuYnVja2V0ZWVyLmdhdGV3YXkuR2V0QWNjb3VudFYyUmVzcG9uc2Ui9QGSQcQBCgdBY2NvdW50EhZHZXQgYnkgT3JnYW5pemF0aW9uIElEGkFHZXQgYW4gQWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLioaYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCJxIlL3YxL2FjY291bnQve29yZ2FuaXphdGlvbl9pZH0ve2VtYWlsfRLBAwobR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEEjUuYnVja2V0ZWVyLmdhdGV3YXkuR2V0QWNjb3VudFYyQnlFbnZpcm9ubWVudElEUmVxdWVzdBo2LmJ1Y2tldGVlci5nYXRld2F5LkdldEFjY291bnRWMkJ5RW52aXJvbm1lbnRJRFJlc3BvbnNlIrICkkHnAQoHQWNjb3VudBIVR2V0IGJ5IEVudmlyb25tZW50IElEGlNHZXQgYW4gQWNjb3VudCBieSBFbnZpcm9ubWVudCBJRC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiosYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRfYnlfZW52aXJvbm1lbnRfaWRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCQRI/L3YxL2FjY291bnQvZ2V0LWFjY291bnQtYnktZW52aXJvbm1lbnQve2Vudmlyb25tZW50X2lkfS97ZW1haWx9EsYCCgVHZXRNZRIfLmJ1Y2tldGVlci5nYXRld2F5LkdldE1lUmVxdWVzdBogLmJ1Y2tldGVlci5nYXRld2F5LkdldE1lUmVzcG9uc2Ui+QGSQc0BCgdBY2NvdW50EhNHZXQgU2VydmljZSBBY2NvdW50GkpHZXQgdGhlIGN1cnJlbnQgQWNjb3VudC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgUkVBRGAgQVBJIEtleSByb2xlLiodYXBpLmdhdGV3YXkudjEuYWNjb3VudC5nZXRfbWVyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCIhIgL3YxL2FjY291bnQvbWUve29yZ2FuaXphdGlvbl9pZH0StgIKDkxpc3RBY2NvdW50c1YyEiguYnVja2V0ZWVyLmdhdGV3YXkuTGlzdEFjY291bnRzVjJSZXF1ZXN0GikuYnVja2V0ZWVyLmdhdGV3YXkuTGlzdEFjY291bnRzVjJSZXNwb25zZSLOAZJBtgEKB0FjY291bnQSBExpc3QaREdldCBsaXN0IEFjY291bnRzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKhthcGkuZ2F0ZXdheS52MS5hY2NvdW50Lmxpc3RyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCDhIML3YxL2FjY291bnRzEtkCChBHZXRDb2RlUmVmZXJlbmNlEiouYnVja2V0ZWVyLmdhdGV3YXkuR2V0Q29kZVJlZmVyZW5jZVJlcXVlc3QaKy5idWNrZXRlZXIuZ2F0ZXdheS5HZXRDb2RlUmVmZXJlbmNlUmVzcG9uc2Ui6wGSQccBCg9Db2RlIFJlZmVyZW5jZXMSA0dldBpHR2V0IGEgY29kZSByZWZlcmVuY2UuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGEgYFJFQURgIEFQSSBLZXkgcm9sZS4qImFwaS5nYXRld2F5LnYxLmNvZGVfcmVmZXJlbmNlcy5nZXRyQgpACg1hdXRob3JpemF0aW9uEitUaGUgQVBJIEtleSBnZW5lcmF0ZWQgb24gdGhlIEFkbWluIENvbnNvbGUuGAEoAYLT5JMCGhIYL3YxL2NvZGVfcmVmZXJlbmNlcy97aWR9EtwCChJMaXN0Q29kZVJlZmVyZW5jZXMSLC5idWNrZXRlZXIuZ2F0ZXdheS5MaXN0Q29kZVJlZmVyZW5jZXNSZXF1ZXN0Gi0uYnVja2V0ZWVyLmdhdGV3YXkuTGlzdENvZGVSZWZlcmVuY2VzUmVzcG9uc2Ui6AGSQckBCg9Db2RlIFJlZmVyZW5jZXMSBExpc3QaR0xpc3QgY29kZSByZWZlcmVuY2VzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBSRUFEYCBBUEkgS2V5IHJvbGUuKiNhcGkuZ2F0ZXdheS52MS5jb2RlX3JlZmVyZW5jZXMubGlzdHJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIVEhMvdjEvY29kZV9yZWZlcmVuY2VzEvkCChNDcmVhdGVDb2RlUmVmZXJlbmNlEi0uYnVja2V0ZWVyLmdhdGV3YXkuQ3JlYXRlQ29kZVJlZmVyZW5jZVJlcXVlc3QaLi5idWNrZXRlZXIuZ2F0ZXdheS5DcmVhdGVDb2RlUmVmZXJlbmNlUmVzcG9uc2UiggKSQeABCg9Db2RlIFJlZmVyZW5jZXMSBkNyZWF0ZRpaQ3JlYXRlIGEgbmV3IGNvZGUgcmVmZXJlbmNlLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhIGBXUklURWAgb3IgYEFETUlOYCBBUEkgS2V5IHJvbGUuKiVhcGkuZ2F0ZXdheS52MS5jb2RlX3JlZmVyZW5jZXMuY3JlYXRlckIKQAoNYXV0aG9yaXphdGlvbhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhgBKAGC0+STAhgiEy92MS9jb2RlX3JlZmVyZW5jZXM6ASoS+gIKE1VwZGF0ZUNvZGVSZWZlcmVuY2USLS5idWNrZXRlZXIuZ2F0ZXdheS5VcGRhdGVDb2RlUmVmZXJlbmNlUmVxdWVzdBouLmJ1Y2tldGVlci5nYXRld2F5LlVwZGF0ZUNvZGVSZWZlcmVuY2VSZXNwb25zZSKDApJB3AEKD0NvZGUgUmVmZXJlbmNlcxIGVXBkYXRlGlZVcGRhdGUgYSBjb2RlIHJlZmVyZW5jZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgV1JJVEVgIG9yIGBBRE1JTmAgQVBJIEtleSByb2xlLiolYXBpLmdhdGV3YXkudjEuY29kZV9yZWZlcmVuY2VzLnVwZGF0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIdMhgvdjEvY29kZV9yZWZlcmVuY2VzL3tpZH06ASoS9wIKE0RlbGV0ZUNvZGVSZWZlcmVuY2USLS5idWNrZXRlZXIuZ2F0ZXdheS5EZWxldGVDb2RlUmVmZXJlbmNlUmVxdWVzdBouLmJ1Y2tldGVlci5nYXRld2F5LkRlbGV0ZUNvZGVSZWZlcmVuY2VSZXNwb25zZSKAApJB3AEKD0NvZGUgUmVmZXJlbmNlcxIGRGVsZXRlGlZEZWxldGUgYSBjb2RlIHJlZmVyZW5jZS4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYSBgV1JJVEVgIG9yIGBBRE1JTmAgQVBJIEtleSByb2xlLiolYXBpLmdhdGV3YXkudjEuY29kZV9yZWZlcmVuY2VzLmRlbGV0ZXJCCkAKDWF1dGhvcml6YXRpb24SK1RoZSBBUEkgS2V5IGdlbmVyYXRlZCBvbiB0aGUgQWRtaW4gQ29uc29sZS4YASgBgtPkkwIaKhgvdjEvY29kZV9yZWZlcmVuY2VzL3tpZH1ChAZaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9nYXRld2F5kkHPBRIgChlCdWNrZXRlZXIgR2F0ZXdheSBTZXJ2aWNlMgMxLjAaCEVORFBPSU5UKgECMhBhcHBsaWNhdGlvbi9qc29uOhBhcHBsaWNhdGlvbi9qc29uUrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9UrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfVKpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH1aUApOCgpBcGlLZXlBdXRoEkAIAhIrVGhlIEFQSSBLZXkgZ2VuZXJhdGVkIG9uIHRoZSBBZG1pbiBDb25zb2xlLhoNYXV0aG9yaXphdGlvbiACYhAKDgoKQXBpS2V5QXV0aBIAYgZwcm90bzM= config: port: 9000 adminPort: 8001 diff --git a/manifests/bucketeer/charts/web/values.yaml b/manifests/bucketeer/charts/web/values.yaml index 389cf61065..e350bb691c 100644 --- a/manifests/bucketeer/charts/web/values.yaml +++ b/manifests/bucketeer/charts/web/values.yaml @@ -111,10 +111,10 @@ envoy: batchDescriptor: CvMFChlwcm90by9iYXRjaC9zZXJ2aWNlLnByb3RvEg9idWNrZXRlZXIuYmF0Y2giPgoPQmF0Y2hKb2JSZXF1ZXN0EisKA2pvYhgBIAEoDjIZLmJ1Y2tldGVlci5iYXRjaC5CYXRjaEpvYlIDam9iIhIKEEJhdGNoSm9iUmVzcG9uc2UqzQMKCEJhdGNoSm9iEhsKF0V4cGVyaW1lbnRTdGF0dXNVcGRhdGVyEAASHAoYRXhwZXJpbWVudFJ1bm5pbmdXYXRjaGVyEAESFwoTRmVhdHVyZVN0YWxlV2F0Y2hlchACEhMKD01hdUNvdW50V2F0Y2hlchADEhMKD0RhdGV0aW1lV2F0Y2hlchAEEhUKEUV2ZW50Q291bnRXYXRjaGVyEAUSFwoTRG9tYWluRXZlbnRJbmZvcm1lchAGEhcKE1JlZGlzQ291bnRlckRlbGV0ZXIQBxIdChlQcm9ncmVzc2l2ZVJvbGxvdXRXYXRjaGVyEAgSGAoURXhwZXJpbWVudENhbGN1bGF0b3IQCRIRCg1NYXVTdW1tYXJpemVyEAoSFwoTTWF1UGFydGl0aW9uRGVsZXRlchALEhcKE01hdVBhcnRpdGlvbkNyZWF0b3IQDBIVChFGZWF0dXJlRmxhZ0NhY2hlchANEhUKEVNlZ21lbnRVc2VyQ2FjaGVyEA4SEAoMQXBpS2V5Q2FjaGVyEA8SFgoSQXV0b09wc1J1bGVzQ2FjaGVyEBASFAoQRXhwZXJpbWVudENhY2hlchAREg4KClRhZ0RlbGV0ZXIQEjJoCgxCYXRjaFNlcnZpY2USWAoPRXhlY3V0ZUJhdGNoSm9iEiAuYnVja2V0ZWVyLmJhdGNoLkJhdGNoSm9iUmVxdWVzdBohLmJ1Y2tldGVlci5iYXRjaC5CYXRjaEpvYlJlc3BvbnNlIgBCL1otZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2JhdGNoYgZwcm90bzM= environmentDescriptor: CtUMCh9wcm90by9lbnZpcm9ubWVudC9jb21tYW5kLnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQitQEKGkNyZWF0ZUVudmlyb25tZW50VjJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAiABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBCABKAlSCXByb2plY3RJZBInCg9yZXF1aXJlX2NvbW1lbnQYBSABKAhSDnJlcXVpcmVDb21tZW50IjAKGlJlbmFtZUVudmlyb25tZW50VjJDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiSQolQ2hhbmdlRGVzY3JpcHRpb25FbnZpcm9ubWVudFYyQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iHQobQXJjaGl2ZUVudmlyb25tZW50VjJDb21tYW5kIh8KHVVuYXJjaGl2ZUVudmlyb25tZW50VjJDb21tYW5kIpABChRDcmVhdGVQcm9qZWN0Q29tbWFuZBInCg9vcmdhbml6YXRpb25faWQYASABKAlSDm9yZ2FuaXphdGlvbklkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEhkKCHVybF9jb2RlGAQgASgJUgd1cmxDb2RlIpUBChlDcmVhdGVUcmlhbFByb2plY3RDb21tYW5kEhIKAmlkGAEgASgJQgIYAVICaWQSFAoFZW1haWwYAiABKAlSBWVtYWlsEhIKBG5hbWUYAyABKAlSBG5hbWUSGQoIdXJsX2NvZGUYBCABKAlSB3VybENvZGUSHwoLb3duZXJfZW1haWwYBSABKAlSCm93bmVyRW1haWwiKgoUUmVuYW1lUHJvamVjdENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJDCh9DaGFuZ2VEZXNjcmlwdGlvblByb2plY3RDb21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIWChRFbmFibGVQcm9qZWN0Q29tbWFuZCIXChVEaXNhYmxlUHJvamVjdENvbW1hbmQiHAoaQ29udmVydFRyaWFsUHJvamVjdENvbW1hbmQi0AEKGUNyZWF0ZU9yZ2FuaXphdGlvbkNvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgCIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGQoIaXNfdHJpYWwYBCABKAhSB2lzVHJpYWwSJgoPaXNfc3lzdGVtX2FkbWluGAUgASgIUg1pc1N5c3RlbUFkbWluEh8KC293bmVyX2VtYWlsGAYgASgJUgpvd25lckVtYWlsIjMKHUNoYW5nZU5hbWVPcmdhbml6YXRpb25Db21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiSAokQ2hhbmdlRGVzY3JpcHRpb25Pcmdhbml6YXRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiJGCiNDaGFuZ2VPd25lckVtYWlsT3JnYW5pemF0aW9uQ29tbWFuZBIfCgtvd25lcl9lbWFpbBgBIAEoCVIKb3duZXJFbWFpbCJGChtDaGFuZ2VSZXF1aXJlQ29tbWVudENvbW1hbmQSJwoPcmVxdWlyZV9jb21tZW50GAEgASgIUg5yZXF1aXJlQ29tbWVudCIbChlFbmFibGVPcmdhbml6YXRpb25Db21tYW5kIhwKGkRpc2FibGVPcmdhbml6YXRpb25Db21tYW5kIhwKGkFyY2hpdmVPcmdhbml6YXRpb25Db21tYW5kIh4KHFVuYXJjaGl2ZU9yZ2FuaXphdGlvbkNvbW1hbmQiIQofQ29udmVydFRyaWFsT3JnYW5pemF0aW9uQ29tbWFuZEI1WjNnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZW52aXJvbm1lbnRiBnByb3RvMwrnAwojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudCLpAgoNRW52aXJvbm1lbnRWMhIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgDIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SHQoKcHJvamVjdF9pZBgFIAEoCVIJcHJvamVjdElkEhoKCGFyY2hpdmVkGAYgASgIUghhcmNoaXZlZBIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EicKD29yZ2FuaXphdGlvbl9pZBgJIAEoCVIOb3JnYW5pemF0aW9uSWQSJwoPcmVxdWlyZV9jb21tZW50GAogASgIUg5yZXF1aXJlQ29tbWVudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYCyABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwqHBQoVZ29vZ2xlL2FwaS9odHRwLnByb3RvEgpnb29nbGUuYXBpInkKBEh0dHASKgoFcnVsZXMYASADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgVydWxlcxJFCh9mdWxseV9kZWNvZGVfcmVzZXJ2ZWRfZXhwYW5zaW9uGAIgASgIUhxmdWxseURlY29kZVJlc2VydmVkRXhwYW5zaW9uIrUCCghIdHRwUnVsZRIaCghzZWxlY3RvchgBIAEoCVIIc2VsZWN0b3ISEgoDZ2V0GAIgASgJSABSA2dldBISCgNwdXQYAyABKAlIAFIDcHV0EhQKBHBvc3QYBCABKAlIAFIEcG9zdBIYCgZkZWxldGUYBSABKAlIAFIGZGVsZXRlEhYKBXBhdGNoGAYgASgJSABSBXBhdGNoEjcKBmN1c3RvbRgIIAEoCzIdLmdvb2dsZS5hcGkuQ3VzdG9tSHR0cFBhdHRlcm5IAFIGY3VzdG9tEhIKBGJvZHkYByABKAlSBGJvZHkSRQoTYWRkaXRpb25hbF9iaW5kaW5ncxgLIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSEmFkZGl0aW9uYWxCaW5kaW5nc0IJCgdwYXR0ZXJuIjsKEUN1c3RvbUh0dHBQYXR0ZXJuEhIKBGtpbmQYASABKAlSBGtpbmQSEgoEcGF0aBgCIAEoCVIEcGF0aEJqCg5jb20uZ29vZ2xlLmFwaUIJSHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25z+AEBogIER0FQSWIGcHJvdG8zCuFGCiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIk0KEUZpbGVEZXNjcmlwdG9yU2V0EjgKBGZpbGUYASADKAsyJC5nb29nbGUucHJvdG9idWYuRmlsZURlc2NyaXB0b3JQcm90b1IEZmlsZSL+BAoTRmlsZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3BhY2thZ2UYAiABKAlSB3BhY2thZ2USHgoKZGVwZW5kZW5jeRgDIAMoCVIKZGVwZW5kZW5jeRIrChFwdWJsaWNfZGVwZW5kZW5jeRgKIAMoBVIQcHVibGljRGVwZW5kZW5jeRInCg93ZWFrX2RlcGVuZGVuY3kYCyADKAVSDndlYWtEZXBlbmRlbmN5EkMKDG1lc3NhZ2VfdHlwZRgEIAMoCzIgLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheBIYCgdlZGl0aW9uGA0gASgJUgdlZGl0aW9uIrkGCg9EZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI7CgVmaWVsZBgCIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IFZmllbGQSQwoJZXh0ZW5zaW9uGAYgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SQQoLbmVzdGVkX3R5cGUYAyADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgpuZXN0ZWRUeXBlEkEKCWVudW1fdHlwZRgEIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJYCg9leHRlbnNpb25fcmFuZ2UYBSADKAsyLy5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLkV4dGVuc2lvblJhbmdlUg5leHRlbnNpb25SYW5nZRJECgpvbmVvZl9kZWNsGAggAygLMiUuZ29vZ2xlLnByb3RvYnVmLk9uZW9mRGVzY3JpcHRvclByb3RvUglvbmVvZkRlY2wSOQoHb3B0aW9ucxgHIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9uc1IHb3B0aW9ucxJVCg5yZXNlcnZlZF9yYW5nZRgJIAMoCzIuLmdvb2dsZS5wcm90b2J1Zi5EZXNjcmlwdG9yUHJvdG8uUmVzZXJ2ZWRSYW5nZVINcmVzZXJ2ZWRSYW5nZRIjCg1yZXNlcnZlZF9uYW1lGAogAygJUgxyZXNlcnZlZE5hbWUaegoORXh0ZW5zaW9uUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kEkAKB29wdGlvbnMYAyABKAsyJi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zUgdvcHRpb25zGjcKDVJlc2VydmVkUmFuZ2USFAoFc3RhcnQYASABKAVSBXN0YXJ0EhAKA2VuZBgCIAEoBVIDZW5kIq0EChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24SWQoLZGVjbGFyYXRpb24YAiADKAsyMi5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLkRlY2xhcmF0aW9uQgOIAQJSC2RlY2xhcmF0aW9uEmgKDHZlcmlmaWNhdGlvbhgDIAEoDjI4Lmdvb2dsZS5wcm90b2J1Zi5FeHRlbnNpb25SYW5nZU9wdGlvbnMuVmVyaWZpY2F0aW9uU3RhdGU6ClVOVkVSSUZJRURSDHZlcmlmaWNhdGlvbhqzAQoLRGVjbGFyYXRpb24SFgoGbnVtYmVyGAEgASgFUgZudW1iZXISGwoJZnVsbF9uYW1lGAIgASgJUghmdWxsTmFtZRISCgR0eXBlGAMgASgJUgR0eXBlEiMKC2lzX3JlcGVhdGVkGAQgASgIQgIYAVIKaXNSZXBlYXRlZBIaCghyZXNlcnZlZBgFIAEoCFIIcmVzZXJ2ZWQSGgoIcmVwZWF0ZWQYBiABKAhSCHJlcGVhdGVkIjQKEVZlcmlmaWNhdGlvblN0YXRlEg8KC0RFQ0xBUkFUSU9OEAASDgoKVU5WRVJJRklFRBABKgkI6AcQgICAgAIiwQYKFEZpZWxkRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAMgASgFUgZudW1iZXISQQoFbGFiZWwYBCABKA4yKy5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uTGFiZWxSBWxhYmVsEj4KBHR5cGUYBSABKA4yKi5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG8uVHlwZVIEdHlwZRIbCgl0eXBlX25hbWUYBiABKAlSCHR5cGVOYW1lEhoKCGV4dGVuZGVlGAIgASgJUghleHRlbmRlZRIjCg1kZWZhdWx0X3ZhbHVlGAcgASgJUgxkZWZhdWx0VmFsdWUSHwoLb25lb2ZfaW5kZXgYCSABKAVSCm9uZW9mSW5kZXgSGwoJanNvbl9uYW1lGAogASgJUghqc29uTmFtZRI3CgdvcHRpb25zGAggASgLMh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9uc1IHb3B0aW9ucxInCg9wcm90bzNfb3B0aW9uYWwYESABKAhSDnByb3RvM09wdGlvbmFsIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpEJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIuChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgR0cnVlUg5jY0VuYWJsZUFyZW5hcxIqChFvYmpjX2NsYXNzX3ByZWZpeBgkIAEoCVIPb2JqY0NsYXNzUHJlZml4EikKEGNzaGFycF9uYW1lc3BhY2UYJSABKAlSD2NzaGFycE5hbWVzcGFjZRIhCgxzd2lmdF9wcmVmaXgYJyABKAlSC3N3aWZ0UHJlZml4EigKEHBocF9jbGFzc19wcmVmaXgYKCABKAlSDnBocENsYXNzUHJlZml4EiMKDXBocF9uYW1lc3BhY2UYKSABKAlSDHBocE5hbWVzcGFjZRI0ChZwaHBfbWV0YWRhdGFfbmFtZXNwYWNlGCwgASgJUhRwaHBNZXRhZGF0YU5hbWVzcGFjZRIhCgxydWJ5X3BhY2thZ2UYLSABKAlSC3J1YnlQYWNrYWdlElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIjoKDE9wdGltaXplTW9kZRIJCgVTUEVFRBABEg0KCUNPREVfU0laRRACEhAKDExJVEVfUlVOVElNRRADKgkI6AcQgICAgAJKBAgmECciuwMKDk1lc3NhZ2VPcHRpb25zEjwKF21lc3NhZ2Vfc2V0X3dpcmVfZm9ybWF0GAEgASgIOgVmYWxzZVIUbWVzc2FnZVNldFdpcmVGb3JtYXQSTAofbm9fc3RhbmRhcmRfZGVzY3JpcHRvcl9hY2Nlc3NvchgCIAEoCDoFZmFsc2VSHG5vU3RhbmRhcmREZXNjcmlwdG9yQWNjZXNzb3ISJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGwoJbWFwX2VudHJ5GAcgASgIUghtYXBFbnRyeRJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgLIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAQQBUoECAUQBkoECAYQB0oECAgQCUoECAkQCiKFCQoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSLgoPdW52ZXJpZmllZF9sYXp5GA8gASgIOgVmYWxzZVIOdW52ZXJpZmllZExhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSKAoMZGVidWdfcmVkYWN0GBAgASgIOgVmYWxzZVILZGVidWdSZWRhY3QSSwoJcmV0ZW50aW9uGBEgASgOMi0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25SZXRlbnRpb25SCXJldGVudGlvbhJKCgZ0YXJnZXQYEiABKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVCAhgBUgZ0YXJnZXQSSAoHdGFyZ2V0cxgTIAMoDjIuLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uVGFyZ2V0VHlwZVIHdGFyZ2V0cxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiIvCgVDVHlwZRIKCgZTVFJJTkcQABIICgRDT1JEEAESEAoMU1RSSU5HX1BJRUNFEAIiNQoGSlNUeXBlEg0KCUpTX05PUk1BTBAAEg0KCUpTX1NUUklORxABEg0KCUpTX05VTUJFUhACIlUKD09wdGlvblJldGVudGlvbhIVChFSRVRFTlRJT05fVU5LTk9XThAAEhUKEVJFVEVOVElPTl9SVU5USU1FEAESFAoQUkVURU5USU9OX1NPVVJDRRACIowCChBPcHRpb25UYXJnZXRUeXBlEhcKE1RBUkdFVF9UWVBFX1VOS05PV04QABIUChBUQVJHRVRfVFlQRV9GSUxFEAESHwobVEFSR0VUX1RZUEVfRVhURU5TSU9OX1JBTkdFEAISFwoTVEFSR0VUX1RZUEVfTUVTU0FHRRADEhUKEVRBUkdFVF9UWVBFX0ZJRUxEEAQSFQoRVEFSR0VUX1RZUEVfT05FT0YQBRIUChBUQVJHRVRfVFlQRV9FTlVNEAYSGgoWVEFSR0VUX1RZUEVfRU5VTV9FTlRSWRAHEhcKE1RBUkdFVF9UWVBFX1NFUlZJQ0UQCBIWChJUQVJHRVRfVFlQRV9NRVRIT0QQCSoJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpgCCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJWCiZkZXByZWNhdGVkX2xlZ2FjeV9qc29uX2ZpZWxkX2NvbmZsaWN0cxgGIAEoCEICGAFSImRlcHJlY2F0ZWRMZWdhY3lKc29uRmllbGRDb25mbGljdHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAUQBiKeAQoQRW51bVZhbHVlT3B0aW9ucxIlCgpkZXByZWNhdGVkGAEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIpwBCg5TZXJ2aWNlT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIuACCg1NZXRob2RPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkEnEKEWlkZW1wb3RlbmN5X2xldmVsGCIgASgOMi8uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMuSWRlbXBvdGVuY3lMZXZlbDoTSURFTVBPVEVOQ1lfVU5LTk9XTlIQaWRlbXBvdGVuY3lMZXZlbBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiJQChBJZGVtcG90ZW5jeUxldmVsEhcKE0lERU1QT1RFTkNZX1VOS05PV04QABITCg9OT19TSURFX0VGRkVDVFMQARIOCgpJREVNUE9URU5UEAIqCQjoBxCAgICAAiKaAwoTVW5pbnRlcnByZXRlZE9wdGlvbhJBCgRuYW1lGAIgAygLMi0uZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb24uTmFtZVBhcnRSBG5hbWUSKQoQaWRlbnRpZmllcl92YWx1ZRgDIAEoCVIPaWRlbnRpZmllclZhbHVlEiwKEnBvc2l0aXZlX2ludF92YWx1ZRgEIAEoBFIQcG9zaXRpdmVJbnRWYWx1ZRIsChJuZWdhdGl2ZV9pbnRfdmFsdWUYBSABKANSEG5lZ2F0aXZlSW50VmFsdWUSIQoMZG91YmxlX3ZhbHVlGAYgASgBUgtkb3VibGVWYWx1ZRIhCgxzdHJpbmdfdmFsdWUYByABKAxSC3N0cmluZ1ZhbHVlEicKD2FnZ3JlZ2F0ZV92YWx1ZRgIIAEoCVIOYWdncmVnYXRlVmFsdWUaSgoITmFtZVBhcnQSGwoJbmFtZV9wYXJ0GAEgAigJUghuYW1lUGFydBIhCgxpc19leHRlbnNpb24YAiACKAhSC2lzRXh0ZW5zaW9uIqcCCg5Tb3VyY2VDb2RlSW5mbxJECghsb2NhdGlvbhgBIAMoCzIoLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mby5Mb2NhdGlvblIIbG9jYXRpb24azgEKCExvY2F0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEhYKBHNwYW4YAiADKAVCAhABUgRzcGFuEikKEGxlYWRpbmdfY29tbWVudHMYAyABKAlSD2xlYWRpbmdDb21tZW50cxIrChF0cmFpbGluZ19jb21tZW50cxgEIAEoCVIQdHJhaWxpbmdDb21tZW50cxI6ChlsZWFkaW5nX2RldGFjaGVkX2NvbW1lbnRzGAYgAygJUhdsZWFkaW5nRGV0YWNoZWRDb21tZW50cyLQAgoRR2VuZXJhdGVkQ29kZUluZm8STQoKYW5ub3RhdGlvbhgBIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uUgphbm5vdGF0aW9uGusBCgpBbm5vdGF0aW9uEhYKBHBhdGgYASADKAVCAhABUgRwYXRoEh8KC3NvdXJjZV9maWxlGAIgASgJUgpzb3VyY2VGaWxlEhQKBWJlZ2luGAMgASgFUgViZWdpbhIQCgNlbmQYBCABKAVSA2VuZBJSCghzZW1hbnRpYxgFIAEoDjI2Lmdvb2dsZS5wcm90b2J1Zi5HZW5lcmF0ZWRDb2RlSW5mby5Bbm5vdGF0aW9uLlNlbWFudGljUghzZW1hbnRpYyIoCghTZW1hbnRpYxIICgROT05FEAASBwoDU0VUEAESCQoFQUxJQVMQAkJ+ChNjb20uZ29vZ2xlLnByb3RvYnVmQhBEZXNjcmlwdG9yUHJvdG9zSAFaLWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2Rlc2NyaXB0b3JwYvgBAaICA0dQQqoCGkdvb2dsZS5Qcm90b2J1Zi5SZWZsZWN0aW9uCqgCChxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpGhVnb29nbGUvYXBpL2h0dHAucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlwdG9yLnByb3RvOksKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVSBGh0dHBCbgoOY29tLmdvb2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwr61wEKH3Byb3RvL2Vudmlyb25tZW50L3NlcnZpY2UucHJvdG8SFWJ1Y2tldGVlci5lbnZpcm9ubWVudBoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90bxofcHJvdG8vZW52aXJvbm1lbnQvcHJvamVjdC5wcm90bxokcHJvdG8vZW52aXJvbm1lbnQvb3JnYW5pemF0aW9uLnByb3RvGh9wcm90by9lbnZpcm9ubWVudC9jb21tYW5kLnByb3RvIikKF0dldEVudmlyb25tZW50VjJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZCJiChhHZXRFbnZpcm9ubWVudFYyUmVzcG9uc2USRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQixgQKGUxpc3RFbnZpcm9ubWVudHNWMlJlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJTCghvcmRlcl9ieRgDIAEoDjI4LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0RW52aXJvbm1lbnRzVjJSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSaAoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMj8uYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RFbnZpcm9ubWVudHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBI2CghhcmNoaXZlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEiUKDnNlYXJjaF9rZXl3b3JkGAcgASgJUg1zZWFyY2hLZXl3b3JkEicKD29yZ2FuaXphdGlvbl9pZBgIIAEoCVIOb3JnYW5pemF0aW9uSWQiaQoHT3JkZXJCeRILCgdERUZBVUxUEAASBgoCSUQQARIICgROQU1FEAISDAoIVVJMX0NPREUQAxIOCgpDUkVBVEVEX0FUEAQSDgoKVVBEQVRFRF9BVBAFEhEKDUZFQVRVUkVfQ09VTlQQBiIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAEinwEKGkxpc3RFbnZpcm9ubWVudHNWMlJlc3BvbnNlEkgKDGVudmlyb25tZW50cxgBIAMoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgxlbnZpcm9ubWVudHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiaQoaQ3JlYXRlRW52aXJvbm1lbnRWMlJlcXVlc3QSSwoHY29tbWFuZBgBIAEoCzIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVFbnZpcm9ubWVudFYyQ29tbWFuZFIHY29tbWFuZCJlChtDcmVhdGVFbnZpcm9ubWVudFYyUmVzcG9uc2USRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQi+wIKGlVwZGF0ZUVudmlyb25tZW50VjJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJYCg5yZW5hbWVfY29tbWFuZBgCIAEoCzIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5SZW5hbWVFbnZpcm9ubWVudFYyQ29tbWFuZFINcmVuYW1lQ29tbWFuZBJ6ChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzI8LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VEZXNjcmlwdGlvbkVudmlyb25tZW50VjJDb21tYW5kUhhjaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmQSdwoeY2hhbmdlX3JlcXVpcmVfY29tbWVudF9jb21tYW5kGAQgASgLMjIuYnVja2V0ZWVyLmVudmlyb25tZW50LkNoYW5nZVJlcXVpcmVDb21tZW50Q29tbWFuZFIbY2hhbmdlUmVxdWlyZUNvbW1lbnRDb21tYW5kIh0KG1VwZGF0ZUVudmlyb25tZW50VjJSZXNwb25zZSJ7ChtBcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkwKB2NvbW1hbmQYAiABKAsyMi5idWNrZXRlZXIuZW52aXJvbm1lbnQuQXJjaGl2ZUVudmlyb25tZW50VjJDb21tYW5kUgdjb21tYW5kIh4KHEFyY2hpdmVFbnZpcm9ubWVudFYyUmVzcG9uc2UifwodVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QSDgoCaWQYASABKAlSAmlkEk4KB2NvbW1hbmQYAiABKAsyNC5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlRW52aXJvbm1lbnRWMkNvbW1hbmRSB2NvbW1hbmQiIAoeVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlc3BvbnNlIkwKEUdldFByb2plY3RSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkIk4KEkdldFByb2plY3RSZXNwb25zZRI4Cgdwcm9qZWN0GAEgASgLMh4uYnVja2V0ZWVyLmVudmlyb25tZW50LlByb2plY3RSB3Byb2plY3QiwgQKE0xpc3RQcm9qZWN0c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJNCghvcmRlcl9ieRgDIAEoDjIyLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSYgoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjkuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RQcm9qZWN0c1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSKQoQb3JnYW5pemF0aW9uX2lkcxgHIAMoCVIPb3JnYW5pemF0aW9uSWRzIpMBCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEEgwKCFVSTF9DT0RFEAUSFQoRRU5WSVJPTk1FTlRfQ09VTlQQBhIRCg1GRUFUVVJFX0NPVU5UEAcSEQoNQ1JFQVRPUl9FTUFJTBAIIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQASKLAQoUTGlzdFByb2plY3RzUmVzcG9uc2USOgoIcHJvamVjdHMYASADKAsyHi5idWNrZXRlZXIuZW52aXJvbm1lbnQuUHJvamVjdFIIcHJvamVjdHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiXQoUQ3JlYXRlUHJvamVjdFJlcXVlc3QSRQoHY29tbWFuZBgBIAEoCzIrLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVQcm9qZWN0Q29tbWFuZFIHY29tbWFuZCJRChVDcmVhdGVQcm9qZWN0UmVzcG9uc2USOAoHcHJvamVjdBgBIAEoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ugdwcm9qZWN0ImcKGUNyZWF0ZVRyaWFsUHJvamVjdFJlcXVlc3QSSgoHY29tbWFuZBgBIAEoCzIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVUcmlhbFByb2plY3RDb21tYW5kUgdjb21tYW5kIhwKGkNyZWF0ZVRyaWFsUHJvamVjdFJlc3BvbnNlIvABChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSdAoaY2hhbmdlX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAiABKAsyNi5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ2hhbmdlRGVzY3JpcHRpb25Qcm9qZWN0Q29tbWFuZFIYY2hhbmdlRGVzY3JpcHRpb25Db21tYW5kElIKDnJlbmFtZV9jb21tYW5kGAMgASgLMisuYnVja2V0ZWVyLmVudmlyb25tZW50LlJlbmFtZVByb2plY3RDb21tYW5kUg1yZW5hbWVDb21tYW5kIhcKFVVwZGF0ZVByb2plY3RSZXNwb25zZSJtChRFbmFibGVQcm9qZWN0UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRQoHY29tbWFuZBgCIAEoCzIrLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbmFibGVQcm9qZWN0Q29tbWFuZFIHY29tbWFuZCIXChVFbmFibGVQcm9qZWN0UmVzcG9uc2UibwoVRGlzYWJsZVByb2plY3RSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJGCgdjb21tYW5kGAIgASgLMiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVQcm9qZWN0Q29tbWFuZFIHY29tbWFuZCIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlInkKGkNvbnZlcnRUcmlhbFByb2plY3RSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJLCgdjb21tYW5kGAIgASgLMjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkNvbnZlcnRUcmlhbFByb2plY3RDb21tYW5kUgdjb21tYW5kIh0KG0NvbnZlcnRUcmlhbFByb2plY3RSZXNwb25zZSIoChZHZXRPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZCJiChdHZXRPcmdhbml6YXRpb25SZXNwb25zZRJHCgxvcmdhbml6YXRpb24YASABKAsyIy5idWNrZXRlZXIuZW52aXJvbm1lbnQuT3JnYW5pemF0aW9uUgxvcmdhbml6YXRpb24i2wQKGExpc3RPcmdhbml6YXRpb25zUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yElIKCG9yZGVyX2J5GAMgASgOMjcuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmcKD29yZGVyX2RpcmVjdGlvbhgEIAEoDjI+LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSNgoIYXJjaGl2ZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghhcmNoaXZlZCKQAQoHT3JkZXJCeRILCgdERUZBVUxUEAASBgoCSUQQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBE5BTUUQBBIMCghVUkxfQ09ERRAFEhEKDVBST0pFQ1RfQ09VTlQQBhIVChFFTlZJUk9OTUVOVF9DT1VOVBAHEg4KClVTRVJfQ09VTlQQCCIjCg5PcmRlckRpcmVjdGlvbhIHCgNBU0MQABIICgRERVNDEAEinwEKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USSQoNT3JnYW5pemF0aW9ucxgBIAMoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDU9yZ2FuaXphdGlvbnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQioAIKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSTgoHY29tbWFuZBgBIAEoCzIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVPcmdhbml6YXRpb25Db21tYW5kQgIYAVIHY29tbWFuZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIZCghpc190cmlhbBgFIAEoCFIHaXNUcmlhbBImCg9pc19zeXN0ZW1fYWRtaW4YBiABKAhSDWlzU3lzdGVtQWRtaW4SHwoLb3duZXJfZW1haWwYByABKAlSCm93bmVyRW1haWwiZQoaQ3JlYXRlT3JnYW5pemF0aW9uUmVzcG9uc2USRwoMT3JnYW5pemF0aW9uGAEgASgLMiMuYnVja2V0ZWVyLmVudmlyb25tZW50Lk9yZ2FuaXphdGlvblIMT3JnYW5pemF0aW9uIvwCChlVcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJbCg5yZW5hbWVfY29tbWFuZBgCIAEoCzI0LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VOYW1lT3JnYW5pemF0aW9uQ29tbWFuZFINcmVuYW1lQ29tbWFuZBJ5ChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzI7LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VEZXNjcmlwdGlvbk9yZ2FuaXphdGlvbkNvbW1hbmRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBJ3ChpjaGFuZ2Vfb3duZXJfZW1haWxfY29tbWFuZBgEIAEoCzI6LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DaGFuZ2VPd25lckVtYWlsT3JnYW5pemF0aW9uQ29tbWFuZFIXY2hhbmdlT3duZXJFbWFpbENvbW1hbmQiHAoaVXBkYXRlT3JnYW5pemF0aW9uUmVzcG9uc2UidwoZRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSgoHY29tbWFuZBgCIAEoCzIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbmFibGVPcmdhbml6YXRpb25Db21tYW5kUgdjb21tYW5kIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlInkKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJLCgdjb21tYW5kGAIgASgLMjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVPcmdhbml6YXRpb25Db21tYW5kUgdjb21tYW5kIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSJ5ChpBcmNoaXZlT3JnYW5pemF0aW9uUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSwoHY29tbWFuZBgCIAEoCzIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5BcmNoaXZlT3JnYW5pemF0aW9uQ29tbWFuZFIHY29tbWFuZCIdChtBcmNoaXZlT3JnYW5pemF0aW9uUmVzcG9uc2UifQocVW5hcmNoaXZlT3JnYW5pemF0aW9uUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSTQoHY29tbWFuZBgCIAEoCzIzLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VbmFyY2hpdmVPcmdhbml6YXRpb25Db21tYW5kUgdjb21tYW5kIh8KHVVuYXJjaGl2ZU9yZ2FuaXphdGlvblJlc3BvbnNlIoMBCh9Db252ZXJ0VHJpYWxPcmdhbml6YXRpb25SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJQCgdjb21tYW5kGAIgASgLMjYuYnVja2V0ZWVyLmVudmlyb25tZW50LkNvbnZlcnRUcmlhbE9yZ2FuaXphdGlvbkNvbW1hbmRSB2NvbW1hbmQiIgogQ29udmVydFRyaWFsT3JnYW5pemF0aW9uUmVzcG9uc2Ui9QQKFUxpc3RQcm9qZWN0c1YyUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEk8KCG9yZGVyX2J5GAMgASgOMjQuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RQcm9qZWN0c1YyUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmQKD29yZGVyX2RpcmVjdGlvbhgEIAEoDjI7LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNWMlJlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEjYKCGRpc2FibGVkGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIZGlzYWJsZWQSLQoQb3JnYW5pemF0aW9uX2lkcxgHIAMoCUICGAFSD29yZ2FuaXphdGlvbklkcxInCg9vcmdhbml6YXRpb25faWQYCCABKAlSDm9yZ2FuaXphdGlvbklkIpMBCgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEEgwKCFVSTF9DT0RFEAUSFQoRRU5WSVJPTk1FTlRfQ09VTlQQBhIRCg1GRUFUVVJFX0NPVU5UEAcSEQoNQ1JFQVRPUl9FTUFJTBAIIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQASKNAQoWTGlzdFByb2plY3RzVjJSZXNwb25zZRI6Cghwcm9qZWN0cxgBIAMoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ughwcm9qZWN0cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudDKmngEKEkVudmlyb25tZW50U2VydmljZRK3BgoQR2V0RW52aXJvbm1lbnRWMhIuLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5HZXRFbnZpcm9ubWVudFYyUmVxdWVzdBovLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5HZXRFbnZpcm9ubWVudFYyUmVzcG9uc2UiwQWSQZYFCgtFbnZpcm9ubWVudBIDR2V0GkZHZXQgYW4gZW52aXJvbm1lbnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiJ3ZWIudjEuZW52aXJvbm1lbnQuZ2V0X2Vudmlyb25tZW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9lbnZpcm9ubWVudC9nZXRfZW52aXJvbm1lbnQSwQYKEkxpc3RFbnZpcm9ubWVudHNWMhIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0RW52aXJvbm1lbnRzVjJSZXF1ZXN0GjEuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RFbnZpcm9ubWVudHNWMlJlc3BvbnNlIsUFkkGYBQoLRW52aXJvbm1lbnQSBExpc3QaRUxpc3QgZW52aXJvbm1lbnRzLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiokd2ViLnYxLmVudmlyb25tZW50Lmxpc3RfZW52aXJvbm1lbnRzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiMSIS92MS9lbnZpcm9ubWVudC9saXN0X2Vudmlyb25tZW50cxLPBgoTQ3JlYXRlRW52aXJvbm1lbnRWMhIxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVFbnZpcm9ubWVudFYyUmVxdWVzdBoyLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVFbnZpcm9ubWVudFYyUmVzcG9uc2Ui0AWSQZ8FCgtFbnZpcm9ubWVudBIGQ3JlYXRlGklDcmVhdGUgYW4gZW52aXJvbm1lbnQuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiV3ZWIudjEuZW52aXJvbm1lbnQuY3JlYXRlX2Vudmlyb25tZW50SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiciIi92MS9lbnZpcm9ubWVudC9jcmVhdGVfZW52aXJvbm1lbnQ6ASoSzwYKE1VwZGF0ZUVudmlyb25tZW50VjISMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuVXBkYXRlRW52aXJvbm1lbnRWMlJlcXVlc3QaMi5idWNrZXRlZXIuZW52aXJvbm1lbnQuVXBkYXRlRW52aXJvbm1lbnRWMlJlc3BvbnNlItAFkkGfBQoLRW52aXJvbm1lbnQSBlVwZGF0ZRpJVXBkYXRlIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiold2ViLnYxLmVudmlyb25tZW50LnVwZGF0ZV9lbnZpcm9ubWVudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwInIiIvdjEvZW52aXJvbm1lbnQvdXBkYXRlX2Vudmlyb25tZW50OgEqEtYGChRBcmNoaXZlRW52aXJvbm1lbnRWMhIyLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5BcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QaMy5idWNrZXRlZXIuZW52aXJvbm1lbnQuQXJjaGl2ZUVudmlyb25tZW50VjJSZXNwb25zZSLUBZJBogUKC0Vudmlyb25tZW50EgdBcmNoaXZlGkpBcmNoaXZlIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiomd2ViLnYxLmVudmlyb25tZW50LmFyY2hpdmVfZW52aXJvbm1lbnRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKCIjL3YxL2Vudmlyb25tZW50L2FyY2hpdmVfZW52aXJvbm1lbnQ6ASoS5AYKFlVuYXJjaGl2ZUVudmlyb25tZW50VjISNC5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlcXVlc3QaNS5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlRW52aXJvbm1lbnRWMlJlc3BvbnNlItwFkkGoBQoLRW52aXJvbm1lbnQSCVVuYXJjaGl2ZRpMVW5hcmNoaXZlIGFuIGVudmlyb25tZW50LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiood2ViLnYxLmVudmlyb25tZW50LnVuYXJjaGl2ZV9lbnZpcm9ubWVudEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIqIiUvdjEvZW52aXJvbm1lbnQvdW5hcmNoaXZlX2Vudmlyb25tZW50OgEqEpQGCgpHZXRQcm9qZWN0EiguYnVja2V0ZWVyLmVudmlyb25tZW50LkdldFByb2plY3RSZXF1ZXN0GikuYnVja2V0ZWVyLmVudmlyb25tZW50LkdldFByb2plY3RSZXNwb25zZSKwBZJBiQUKB1Byb2plY3QSA0dldBpBR2V0IGEgcHJvamVjdC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qHndlYi52MS5lbnZpcm9ubWVudC5nZXRfcHJvamVjdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIdEhsvdjEvZW52aXJvbm1lbnQvZ2V0X3Byb2plY3QSnwYKDExpc3RQcm9qZWN0cxIqLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNSZXF1ZXN0GisuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RQcm9qZWN0c1Jlc3BvbnNlIrUFkkGMBQoHUHJvamVjdBIETGlzdBpBTGlzdCBwcm9qZWN0cy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qIHdlYi52MS5lbnZpcm9ubWVudC5saXN0X3Byb2plY3RzSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAh8SHS92MS9lbnZpcm9ubWVudC9saXN0X3Byb2plY3RzEqwGCg1DcmVhdGVQcm9qZWN0EisuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZVByb2plY3RSZXF1ZXN0GiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZVByb2plY3RSZXNwb25zZSK/BZJBkgUKB1Byb2plY3QSBkNyZWF0ZRpEQ3JlYXRlIGEgcHJvamVjdC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qIXdlYi52MS5lbnZpcm9ubWVudC5jcmVhdGVfcHJvamVjdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIjIh4vdjEvZW52aXJvbm1lbnQvY3JlYXRlX3Byb2plY3Q6ASoS0wYKEkNyZWF0ZVRyaWFsUHJvamVjdBIwLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5DcmVhdGVUcmlhbFByb2plY3RSZXF1ZXN0GjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZVRyaWFsUHJvamVjdFJlc3BvbnNlItcFkkGkBQoHUHJvamVjdBIMQ3JlYXRlIFRyaWFsGkpDcmVhdGUgYSB0cmlhbCBwcm9qZWN0LiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiond2ViLnYxLmVudmlyb25tZW50LmNyZWF0ZV90cmlhbF9wcm9qZWN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAikiJC92MS9lbnZpcm9ubWVudC9jcmVhdGVfdHJpYWxfcHJvamVjdDoBKhKsBgoNVXBkYXRlUHJvamVjdBIrLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VcGRhdGVQcm9qZWN0UmVxdWVzdBosLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VcGRhdGVQcm9qZWN0UmVzcG9uc2UivwWSQZIFCgdQcm9qZWN0EgZVcGRhdGUaRFVwZGF0ZSBhIHByb2plY3QuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiF3ZWIudjEuZW52aXJvbm1lbnQudXBkYXRlX3Byb2plY3RKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCIyIeL3YxL2Vudmlyb25tZW50L3VwZGF0ZV9wcm9qZWN0OgEqEqwGCg1FbmFibGVQcm9qZWN0EisuYnVja2V0ZWVyLmVudmlyb25tZW50LkVuYWJsZVByb2plY3RSZXF1ZXN0GiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkVuYWJsZVByb2plY3RSZXNwb25zZSK/BZJBkgUKB1Byb2plY3QSBkVuYWJsZRpERW5hYmxlIGEgcHJvamVjdC4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qIXdlYi52MS5lbnZpcm9ubWVudC5lbmFibGVfcHJvamVjdEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIjIh4vdjEvZW52aXJvbm1lbnQvZW5hYmxlX3Byb2plY3Q6ASoSswYKDkRpc2FibGVQcm9qZWN0EiwuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVQcm9qZWN0UmVxdWVzdBotLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIsMFkkGVBQoHUHJvamVjdBIHRGlzYWJsZRpFRGlzYWJsZSBhIHByb2plY3QuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKiJ3ZWIudjEuZW52aXJvbm1lbnQuZGlzYWJsZV9wcm9qZWN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiQiHy92MS9lbnZpcm9ubWVudC9kaXNhYmxlX3Byb2plY3Q6ASoS2gYKE0NvbnZlcnRUcmlhbFByb2plY3QSMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ29udmVydFRyaWFsUHJvamVjdFJlcXVlc3QaMi5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ29udmVydFRyaWFsUHJvamVjdFJlc3BvbnNlItsFkkGnBQoHUHJvamVjdBINQ29udmVydCBUcmlhbBpLQ29udmVydCBhIHRyaWFsIHByb2plY3QuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKih3ZWIudjEuZW52aXJvbm1lbnQuY29udmVydF90cmlhbF9wcm9qZWN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAioiJS92MS9lbnZpcm9ubWVudC9jb252ZXJ0X3RyaWFsX3Byb2plY3Q6ASoSuAYKD0dldE9yZ2FuaXphdGlvbhItLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5HZXRPcmdhbml6YXRpb25SZXF1ZXN0Gi4uYnVja2V0ZWVyLmVudmlyb25tZW50LkdldE9yZ2FuaXphdGlvblJlc3BvbnNlIsUFkkGZBQoMT3JnYW5pemF0aW9uEgNHZXQaR0dldCBhbiBvcmdhbml6YXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGF0IGxlYXN0IGEgTUVNQkVSIHJvbGUuKiN3ZWIudjEuZW52aXJvbm1lbnQuZ2V0X29yZ2FuaXphdGlvbkq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiEiAvdjEvZW52aXJvbm1lbnQvZ2V0X29yZ2FuaXphdGlvbhLCBgoRTGlzdE9yZ2FuaXphdGlvbnMSLy5idWNrZXRlZXIuZW52aXJvbm1lbnQuTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0GjAuYnVja2V0ZWVyLmVudmlyb25tZW50Lkxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2UiyQWSQZsFCgxPcmdhbml6YXRpb24SBExpc3QaRkxpc3Qgb3JnYW5pemF0aW9ucy4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qJXdlYi52MS5lbnZpcm9ubWVudC5saXN0X29yZ2FuaXphdGlvbnNKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCJBIiL3YxL2Vudmlyb25tZW50L2xpc3Rfb3JnYW5pemF0aW9ucxLQBgoSQ3JlYXRlT3JnYW5pemF0aW9uEjAuYnVja2V0ZWVyLmVudmlyb25tZW50LkNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuQ3JlYXRlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1AWSQaIFCgxPcmdhbml6YXRpb24SBkNyZWF0ZRpKQ3JlYXRlIGFuIG9yZ2FuaXphdGlvbi4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qJndlYi52MS5lbnZpcm9ubWVudC5jcmVhdGVfb3JnYW5pemF0aW9uSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAigiIy92MS9lbnZpcm9ubWVudC9jcmVhdGVfb3JnYW5pemF0aW9uOgEqEskGChJVcGRhdGVPcmdhbml6YXRpb24SMC5idWNrZXRlZXIuZW52aXJvbm1lbnQuVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBoxLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSLNBZJBmwUKDE9yZ2FuaXphdGlvbhIGVXBkYXRlGkNVcGRhdGUgYW4gb3JnYW5pemF0aW9uLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgQURNSU5gIHJvbGUuKiZ3ZWIudjEuZW52aXJvbm1lbnQudXBkYXRlX29yZ2FuaXphdGlvbkq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH1KqQEKAzQwMxKhAQo4UmVxdWVzdCBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiTQoQYXBwbGljYXRpb24vanNvbhI5eyAiY29kZSI6IDcsICJtZXNzYWdlIjogIm5vdCBhdXRob3JpemVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIoIiMvdjEvZW52aXJvbm1lbnQvdXBkYXRlX29yZ2FuaXphdGlvbjoBKhLQBgoSRW5hYmxlT3JnYW5pemF0aW9uEjAuYnVja2V0ZWVyLmVudmlyb25tZW50LkVuYWJsZU9yZ2FuaXphdGlvblJlcXVlc3QaMS5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1AWSQaIFCgxPcmdhbml6YXRpb24SBkVuYWJsZRpKRW5hYmxlIGFuIG9yZ2FuaXphdGlvbi4gVG8gY2FsbCB0aGlzIEFQSSwgeW91IG5lZWQgYW4gYFNZU1RFTV9BRE1JTmAgcm9sZS4qJndlYi52MS5lbnZpcm9ubWVudC5lbmFibGVfb3JnYW5pemF0aW9uSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfUqpAQoDNDAzEqEBCjhSZXF1ZXN0IGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJNChBhcHBsaWNhdGlvbi9qc29uEjl7ICJjb2RlIjogNywgIm1lc3NhZ2UiOiAibm90IGF1dGhvcml6ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAigiIy92MS9lbnZpcm9ubWVudC9lbmFibGVfb3JnYW5pemF0aW9uOgEqEtcGChNEaXNhYmxlT3JnYW5pemF0aW9uEjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjIuYnVja2V0ZWVyLmVudmlyb25tZW50LkRpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSLYBZJBpQUKDE9yZ2FuaXphdGlvbhIHRGlzYWJsZRpLRGlzYWJsZSBhbiBvcmdhbml6YXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKid3ZWIudjEuZW52aXJvbm1lbnQuZGlzYWJsZV9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKSIkL3YxL2Vudmlyb25tZW50L2Rpc2FibGVfb3JnYW5pemF0aW9uOgEqEtcGChNBcmNoaXZlT3JnYW5pemF0aW9uEjEuYnVja2V0ZWVyLmVudmlyb25tZW50LkFyY2hpdmVPcmdhbml6YXRpb25SZXF1ZXN0GjIuYnVja2V0ZWVyLmVudmlyb25tZW50LkFyY2hpdmVPcmdhbml6YXRpb25SZXNwb25zZSLYBZJBpQUKDE9yZ2FuaXphdGlvbhIHQXJjaGl2ZRpLQXJjaGl2ZSBhbiBvcmdhbml6YXRpb24uIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKid3ZWIudjEuZW52aXJvbm1lbnQuYXJjaGl2ZV9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKSIkL3YxL2Vudmlyb25tZW50L2FyY2hpdmVfb3JnYW5pemF0aW9uOgEqEuUGChVVbmFyY2hpdmVPcmdhbml6YXRpb24SMy5idWNrZXRlZXIuZW52aXJvbm1lbnQuVW5hcmNoaXZlT3JnYW5pemF0aW9uUmVxdWVzdBo0LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5VbmFyY2hpdmVPcmdhbml6YXRpb25SZXNwb25zZSLgBZJBqwUKDE9yZ2FuaXphdGlvbhIJVW5hcmNoaXZlGk1VbmFyY2hpdmUgYW4gb3JnYW5pemF0aW9uLiBUbyBjYWxsIHRoaXMgQVBJLCB5b3UgbmVlZCBhbiBgU1lTVEVNX0FETUlOYCByb2xlLiopd2ViLnYxLmVudmlyb25tZW50LnVuYXJjaGl2ZV9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCKyImL3YxL2Vudmlyb25tZW50L3VuYXJjaGl2ZV9vcmdhbml6YXRpb246ASoSiwcKGENvbnZlcnRUcmlhbE9yZ2FuaXphdGlvbhI2LmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Db252ZXJ0VHJpYWxPcmdhbml6YXRpb25SZXF1ZXN0GjcuYnVja2V0ZWVyLmVudmlyb25tZW50LkNvbnZlcnRUcmlhbE9yZ2FuaXphdGlvblJlc3BvbnNlIv0FkkHEBQoMT3JnYW5pemF0aW9uEg1Db252ZXJ0IFRyaWFsGl5Db252ZXJ0IGEgdHJpYWwgb3JnYW5pemF0aW9uIHRvIGEgcGFpZCBvbmUuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGFuIGBTWVNURU1fQURNSU5gIHJvbGUuKi13ZWIudjEuZW52aXJvbm1lbnQuY29udmVydF90cmlhbF9vcmdhbml6YXRpb25KtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCLyIqL3YxL2Vudmlyb25tZW50L2NvbnZlcnRfdHJpYWxfb3JnYW5pemF0aW9uOgEqEuIGCg5MaXN0UHJvamVjdHNWMhIsLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5MaXN0UHJvamVjdHNWMlJlcXVlc3QaLS5idWNrZXRlZXIuZW52aXJvbm1lbnQuTGlzdFByb2plY3RzVjJSZXNwb25zZSLyBZJBxgUKB1Byb2plY3QSEExpc3QgUHJvamVjdHMgVjIabExpc3QgcHJvamVjdHMgd2l0aCBWMiBBUEkuIFRvIGNhbGwgdGhpcyBBUEksIHlvdSBuZWVkIGF0IGxlYXN0IGEgTUVNQkVSIHJvbGUgaW4gdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb25zLiojd2ViLnYxLmVudmlyb25tZW50Lmxpc3RfcHJvamVjdHNfdjJKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9SqkBCgM0MDMSoQEKOFJlcXVlc3QgZG9lcyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGUgcmVzb3VyY2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIk0KEGFwcGxpY2F0aW9uL2pzb24SOXsgImNvZGUiOiA3LCAibWVzc2FnZSI6ICJub3QgYXV0aG9yaXplZCIsICJkZXRhaWxzIjogW10gfYLT5JMCIhIgL3YxL2Vudmlyb25tZW50L2xpc3RfcHJvamVjdHNfdjJCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzM= experimentDescriptor: CqICCh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiZwoJVmFyaWF0aW9uEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24iSgoSVmFyaWF0aW9uTGlzdFZhbHVlEjQKBnZhbHVlcxgBIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtwgKIXByb3RvL2V4cGVyaW1lbnQvZXhwZXJpbWVudC5wcm90bxIUYnVja2V0ZWVyLmV4cGVyaW1lbnQaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvIssGCgpFeHBlcmltZW50Eg4KAmlkGAEgASgJUgJpZBIbCgdnb2FsX2lkGAIgASgJQgIYAVIGZ29hbElkEh0KCmZlYXR1cmVfaWQYAyABKAlSCWZlYXR1cmVJZBInCg9mZWF0dXJlX3ZlcnNpb24YBCABKAVSDmZlYXR1cmVWZXJzaW9uEjwKCnZhcmlhdGlvbnMYBSADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSGQoIc3RhcnRfYXQYBiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgHIAEoA1IGc3RvcEF0EhwKB3N0b3BwZWQYCCABKAhCAhgBUgdzdG9wcGVkEiEKCnN0b3BwZWRfYXQYCSABKANCAjABUglzdG9wcGVkQXQSHQoKY3JlYXRlZF9hdBgKIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCyABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAwgASgIUgdkZWxldGVkEhkKCGdvYWxfaWRzGA0gAygJUgdnb2FsSWRzEhIKBG5hbWUYDiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YDyABKAlSC2Rlc2NyaXB0aW9uEioKEWJhc2VfdmFyaWF0aW9uX2lkGBAgASgJUg9iYXNlVmFyaWF0aW9uSWQSPwoGc3RhdHVzGBIgASgOMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5TdGF0dXNSBnN0YXR1cxIeCgptYWludGFpbmVyGBMgASgJUgptYWludGFpbmVyEhoKCGFyY2hpdmVkGBQgASgIUghhcmNoaXZlZBJECgVnb2FscxgVIAMoCzIuLmJ1Y2tldGVlci5leHBlcmltZW50LkV4cGVyaW1lbnQuR29hbFJlZmVyZW5jZVIFZ29hbHMaMwoNR29hbFJlZmVyZW5jZRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJCCgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARILCgdTVE9QUEVEEAISEQoNRk9SQ0VfU1RPUFBFRBADSgQIERASIlEKC0V4cGVyaW1lbnRzEkIKC2V4cGVyaW1lbnRzGAEgAygLMiAuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudFILZXhwZXJpbWVudHNCNFoyZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V4cGVyaW1lbnRiBnByb3RvMwrkAQoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjYKA0FueRIZCgh0eXBlX3VybBgBIAEoCVIHdHlwZVVybBIUCgV2YWx1ZRgCIAEoDFIFdmFsdWVCdgoTY29tLmdvb2dsZS5wcm90b2J1ZkIIQW55UHJvdG9QAVosZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vYW55cGKiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwqaCwoacHJvdG8vYXV0b29wcy9jbGF1c2UucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvIoYBCgZDbGF1c2USDgoCaWQYASABKAlSAmlkEiwKBmNsYXVzZRgCIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBmNsYXVzZRI+CgthY3Rpb25fdHlwZRgDIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUi3wIKEk9wc0V2ZW50UmF0ZUNsYXVzZRIhCgx2YXJpYXRpb25faWQYAiABKAlSC3ZhcmlhdGlvbklkEhcKB2dvYWxfaWQYAyABKAlSBmdvYWxJZBIbCgltaW5fY291bnQYBCABKANSCG1pbkNvdW50EikKEHRocmVhZHNob2xkX3JhdGUYBSABKAFSD3RocmVhZHNob2xkUmF0ZRJKCghvcGVyYXRvchgGIAEoDjIuLmJ1Y2tldGVlci5hdXRvb3BzLk9wc0V2ZW50UmF0ZUNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3ISPgoLYWN0aW9uX3R5cGUYByABKA4yHS5idWNrZXRlZXIuYXV0b29wcy5BY3Rpb25UeXBlUgphY3Rpb25UeXBlIjMKCE9wZXJhdG9yEhQKEEdSRUFURVJfT1JfRVFVQUwQABIRCg1MRVNTX09SX0VRVUFMEAFKBAgBEAIiZAoORGF0ZXRpbWVDbGF1c2USEgoEdGltZRgBIAEoA1IEdGltZRI+CgthY3Rpb25fdHlwZRgCIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUilwEKGlByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlEh8KC3NjaGVkdWxlX2lkGAEgASgJUgpzY2hlZHVsZUlkEh0KCmV4ZWN1dGVfYXQYAiABKANSCWV4ZWN1dGVBdBIWCgZ3ZWlnaHQYAyABKAVSBndlaWdodBIhCgx0cmlnZ2VyZWRfYXQYBCABKANSC3RyaWdnZXJlZEF0IpgBCiZQcm9ncmVzc2l2ZVJvbGxvdXRNYW51YWxTY2hlZHVsZUNsYXVzZRJLCglzY2hlZHVsZXMYASADKAsyLS5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXRTY2hlZHVsZVIJc2NoZWR1bGVzEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQi2AIKKFByb2dyZXNzaXZlUm9sbG91dFRlbXBsYXRlU2NoZWR1bGVDbGF1c2USSwoJc2NoZWR1bGVzGAEgAygLMi0uYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGVSCXNjaGVkdWxlcxJgCghpbnRlcnZhbBgCIAEoDjJELmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dFRlbXBsYXRlU2NoZWR1bGVDbGF1c2UuSW50ZXJ2YWxSCGludGVydmFsEh4KCmluY3JlbWVudHMYAyABKANSCmluY3JlbWVudHMSIQoMdmFyaWF0aW9uX2lkGAQgASgJUgt2YXJpYXRpb25JZCI6CghJbnRlcnZhbBILCgdVTktOT1dOEAASCgoGSE9VUkxZEAESCQoFREFJTFkQAhIKCgZXRUVLTFkQAyoyCgpBY3Rpb25UeXBlEgsKB1VOS05PV04QABIKCgZFTkFCTEUQARILCgdESVNBQkxFEAJCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1dG9vcHNiBnByb3RvMwrgBQohcHJvdG8vYXV0b29wcy9hdXRvX29wc19ydWxlLnByb3RvEhFidWNrZXRlZXIuYXV0b29wcxoacHJvdG8vYXV0b29wcy9jbGF1c2UucHJvdG8i8wIKC0F1dG9PcHNSdWxlEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNQoIb3BzX3R5cGUYAyABKA4yGi5idWNrZXRlZXIuYXV0b29wcy5PcHNUeXBlUgdvcHNUeXBlEjMKB2NsYXVzZXMYBCADKAsyGS5idWNrZXRlZXIuYXV0b29wcy5DbGF1c2VSB2NsYXVzZXMSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBIYCgdkZWxldGVkGAkgASgIUgdkZWxldGVkEkgKD2F1dG9fb3BzX3N0YXR1cxgKIAEoDjIgLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNTdGF0dXNSDWF1dG9PcHNTdGF0dXMSIQoMZmVhdHVyZV9uYW1lGAsgASgJUgtmZWF0dXJlTmFtZUoECAYQByJUCgxBdXRvT3BzUnVsZXMSRAoOYXV0b19vcHNfcnVsZXMYASADKAsyHi5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzUnVsZVIMYXV0b09wc1J1bGVzKj8KB09wc1R5cGUSEAoMVFlQRV9VTktOT1dOEAASDAoIU0NIRURVTEUQAhIOCgpFVkVOVF9SQVRFEAMiBAgBEAEqRAoNQXV0b09wc1N0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgwKCEZJTklTSEVEEAISCwoHU1RPUFBFRBADQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hdXRvb3BzYgZwcm90bzMK0ggKG3Byb3RvL2V4cGVyaW1lbnQvZ29hbC5wcm90bxIUYnVja2V0ZWVyLmV4cGVyaW1lbnQaIXByb3RvL2V4cGVyaW1lbnQvZXhwZXJpbWVudC5wcm90bxohcHJvdG8vYXV0b29wcy9hdXRvX29wc19ydWxlLnByb3RvIpgHCgRHb2FsEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdkZWxldGVkGAQgASgIUgdkZWxldGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSJwoQaXNfaW5fdXNlX3N0YXR1cxgHIAEoCFINaXNJblVzZVN0YXR1cxIaCghhcmNoaXZlZBgIIAEoCFIIYXJjaGl2ZWQSUgoPY29ubmVjdGlvbl90eXBlGAkgASgOMikuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5Db25uZWN0aW9uVHlwZVIOY29ubmVjdGlvblR5cGUSUAoLZXhwZXJpbWVudHMYCiADKAsyLi5idWNrZXRlZXIuZXhwZXJpbWVudC5Hb2FsLkV4cGVyaW1lbnRSZWZlcmVuY2VSC2V4cGVyaW1lbnRzElUKDmF1dG9fb3BzX3J1bGVzGAsgAygLMi8uYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5BdXRvT3BzUnVsZVJlZmVyZW5jZVIMYXV0b09wc1J1bGVzGrwBChNFeHBlcmltZW50UmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCmZlYXR1cmVfaWQYAyABKAlSCWZlYXR1cmVJZBIhCgxmZWF0dXJlX25hbWUYBCABKAlSC2ZlYXR1cmVOYW1lEj8KBnN0YXR1cxgFIAEoDjInLmJ1Y2tldGVlci5leHBlcmltZW50LkV4cGVyaW1lbnQuU3RhdHVzUgZzdGF0dXMasgEKFEF1dG9PcHNSdWxlUmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSIQoMZmVhdHVyZV9uYW1lGAMgASgJUgtmZWF0dXJlTmFtZRJICg9hdXRvX29wc19zdGF0dXMYBCABKA4yIC5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzU3RhdHVzUg1hdXRvT3BzU3RhdHVzIjwKDkNvbm5lY3Rpb25UeXBlEgsKB1VOS05PV04QABIOCgpFWFBFUklNRU5UEAESDQoJT1BFUkFUSU9OEAJCNFoyZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2V4cGVyaW1lbnRiBnByb3RvMwqeCAoecHJvdG8vZXhwZXJpbWVudC9jb21tYW5kLnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudBobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvIq0BChFDcmVhdGVHb2FsQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SUgoPY29ubmVjdGlvbl90eXBlGAQgASgOMikuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5Db25uZWN0aW9uVHlwZVIOY29ubmVjdGlvblR5cGUiJwoRUmVuYW1lR29hbENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZSJAChxDaGFuZ2VEZXNjcmlwdGlvbkdvYWxDb21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIUChJBcmNoaXZlR29hbENvbW1hbmQiEwoRRGVsZXRlR29hbENvbW1hbmQi7wEKF0NyZWF0ZUV4cGVyaW1lbnRDb21tYW5kEh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIZCghzdGFydF9hdBgDIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAQgASgDUgZzdG9wQXQSGQoIZ29hbF9pZHMYBSADKAlSB2dvYWxJZHMSEgoEbmFtZRgGIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgHIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYCCABKAlSD2Jhc2VWYXJpYXRpb25JZEoECAIQAyJTCh1DaGFuZ2VFeHBlcmltZW50UGVyaW9kQ29tbWFuZBIZCghzdGFydF9hdBgBIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAIgASgDUgZzdG9wQXQiMQobQ2hhbmdlRXhwZXJpbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiRgoiQ2hhbmdlRXhwZXJpbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iFwoVU3RvcEV4cGVyaW1lbnRDb21tYW5kIhoKGEFyY2hpdmVFeHBlcmltZW50Q29tbWFuZCIZChdEZWxldGVFeHBlcmltZW50Q29tbWFuZCIYChZTdGFydEV4cGVyaW1lbnRDb21tYW5kIhkKF0ZpbmlzaEV4cGVyaW1lbnRDb21tYW5kQjRaMmdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9leHBlcmltZW50YgZwcm90bzMKhwUKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiK1AgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUEliBnByb3RvMwrhRgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi/gQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgttZXNzYWdlVHlwZRJBCgllbnVtX3R5cGUYBSADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSQQoHc2VydmljZRgGIAMoCzInLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlRGVzY3JpcHRvclByb3RvUgdzZXJ2aWNlEkMKCWV4dGVuc2lvbhgHIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSGAoHZWRpdGlvbhgNIAEoCVIHZWRpdGlvbiK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKtBAoVRXh0ZW5zaW9uUmFuZ2VPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uElkKC2RlY2xhcmF0aW9uGAIgAygLMjIuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5EZWNsYXJhdGlvbkIDiAECUgtkZWNsYXJhdGlvbhJoCgx2ZXJpZmljYXRpb24YAyABKA4yOC5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLlZlcmlmaWNhdGlvblN0YXRlOgpVTlZFUklGSUVEUgx2ZXJpZmljYXRpb24aswEKC0RlY2xhcmF0aW9uEhYKBm51bWJlchgBIAEoBVIGbnVtYmVyEhsKCWZ1bGxfbmFtZRgCIAEoCVIIZnVsbE5hbWUSEgoEdHlwZRgDIAEoCVIEdHlwZRIjCgtpc19yZXBlYXRlZBgEIAEoCEICGAFSCmlzUmVwZWF0ZWQSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZCI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVFVSVJFRBACEhIKDkxBQkVMX1JFUEVBVEVEEAMiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKRCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSNwoUcGhwX2dlbmVyaWNfc2VydmljZXMYKiABKAg6BWZhbHNlUhJwaHBHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnIrsDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoihQkKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSgoGdGFyZ2V0GBIgASgOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlQgIYAVIGdGFyZ2V0EkgKB3RhcmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVSB3RhcmdldHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBSJzCgxPbmVvZk9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAJCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbgqoAgocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwqGBAoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvEg9nb29nbGUucHJvdG9idWYiIwoLRG91YmxlVmFsdWUSFAoFdmFsdWUYASABKAFSBXZhbHVlIiIKCkZsb2F0VmFsdWUSFAoFdmFsdWUYASABKAJSBXZhbHVlIiIKCkludDY0VmFsdWUSFAoFdmFsdWUYASABKANSBXZhbHVlIiMKC1VJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgEUgV2YWx1ZSIiCgpJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgFUgV2YWx1ZSIjCgtVSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoDVIFdmFsdWUiIQoJQm9vbFZhbHVlEhQKBXZhbHVlGAEgASgIUgV2YWx1ZSIjCgtTdHJpbmdWYWx1ZRIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUiIgoKQnl0ZXNWYWx1ZRIUCgV2YWx1ZRgBIAEoDFIFdmFsdWVCgwEKE2NvbS5nb29nbGUucHJvdG9idWZCDVdyYXBwZXJzUHJvdG9QAVoxZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vd3JhcHBlcnNwYvgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCtZfCh5wcm90by9leHBlcmltZW50L3NlcnZpY2UucHJvdG8SFGJ1Y2tldGVlci5leHBlcmltZW50Ghxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8aHnByb3RvL2V4cGVyaW1lbnQvY29tbWFuZC5wcm90bxobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvGiFwcm90by9leHBlcmltZW50L2V4cGVyaW1lbnQucHJvdG8iVwoOR2V0R29hbFJlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZEoECAIQAyJBCg9HZXRHb2FsUmVzcG9uc2USLgoEZ29hbBgBIAEoCzIaLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWxSBGdvYWwimAUKEExpc3RHb2Fsc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5leHBlcmltZW50Lkxpc3RHb2Fsc1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZXhwZXJpbWVudC5MaXN0R29hbHNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBJDChBpc19pbl91c2Vfc3RhdHVzGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVINaXNJblVzZVN0YXR1cxI2CghhcmNoaXZlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEioKDmVudmlyb25tZW50X2lkGAkgASgJQgPgQQJSDWVudmlyb25tZW50SWQSUgoPY29ubmVjdGlvbl90eXBlGAogASgOMikuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5Db25uZWN0aW9uVHlwZVIOY29ubmVjdGlvblR5cGUiVQoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSEwoPQ09OTkVDVElPTl9UWVBFEAQiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIAxAEIn4KEUxpc3RHb2Fsc1Jlc3BvbnNlEjAKBWdvYWxzGAEgAygLMhouYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbFIFZ29hbHMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQivwIKEUNyZWF0ZUdvYWxSZXF1ZXN0ElQKB2NvbW1hbmQYASABKAsyJy5idWNrZXRlZXIuZXhwZXJpbWVudC5DcmVhdGVHb2FsQ29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZBITCgJpZBgEIAEoCUID4EECUgJpZBIXCgRuYW1lGAUgASgJQgPgQQJSBG5hbWUSIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uElIKD2Nvbm5lY3Rpb25fdHlwZRgHIAEoDjIpLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWwuQ29ubmVjdGlvblR5cGVSDmNvbm5lY3Rpb25UeXBlSgQIAhADIkQKEkNyZWF0ZUdvYWxSZXNwb25zZRIuCgRnb2FsGAEgASgLMhouYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbFIEZ29hbCKVAQoSQXJjaGl2ZUdvYWxSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJCCgdjb21tYW5kGAIgASgLMiguYnVja2V0ZWVyLmV4cGVyaW1lbnQuQXJjaGl2ZUdvYWxDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhUKE0FyY2hpdmVHb2FsUmVzcG9uc2UisAEKEURlbGV0ZUdvYWxSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZXhwZXJpbWVudC5EZWxldGVHb2FsQ29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZEoECAMQBCIUChJEZWxldGVHb2FsUmVzcG9uc2UilgQKEVVwZGF0ZUdvYWxSZXF1ZXN0EhMKAmlkGAEgASgJQgPgQQJSAmlkEmEKDnJlbmFtZV9jb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuUmVuYW1lR29hbENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUg1yZW5hbWVDb21tYW5kEoMBChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzIyLmJ1Y2tldGVlci5leHBlcmltZW50LkNoYW5nZURlc2NyaXB0aW9uR29hbENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUhhjaGFuZ2VEZXNjcmlwdGlvbkNvbW1hbmQSKgoOZW52aXJvbm1lbnRfaWQYBSABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAcgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhJfCghhcmNoaXZlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCJ5JBJDIiaWYgdHJ1ZSwgdGhlIGdvYWwgd2lsbCBiZSBhcmNoaXZlZFIIYXJjaGl2ZWRKBAgEEAUiRAoSVXBkYXRlR29hbFJlc3BvbnNlEi4KBGdvYWwYASABKAsyGi5idWNrZXRlZXIuZXhwZXJpbWVudC5Hb2FsUgRnb2FsIlMKFEdldEV4cGVyaW1lbnRSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJZChVHZXRFeHBlcmltZW50UmVzcG9uc2USQAoKZXhwZXJpbWVudBgBIAEoCzIgLmJ1Y2tldGVlci5leHBlcmltZW50LkV4cGVyaW1lbnRSCmV4cGVyaW1lbnQinwYKFkxpc3RFeHBlcmltZW50c1JlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEkQKD2ZlYXR1cmVfdmVyc2lvbhgCIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUg5mZWF0dXJlVmVyc2lvbhISCgRmcm9tGAMgASgDUgRmcm9tEg4KAnRvGAQgASgDUgJ0bxIbCglwYWdlX3NpemUYBSABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgGIAEoCVIGY3Vyc29yEjMKBnN0YXR1cxgIIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUgZzdGF0dXMSHgoKbWFpbnRhaW5lchgJIAEoCVIKbWFpbnRhaW5lchJPCghvcmRlcl9ieRgKIAEoDjI0LmJ1Y2tldGVlci5leHBlcmltZW50Lkxpc3RFeHBlcmltZW50c1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJkCg9vcmRlcl9kaXJlY3Rpb24YCyABKA4yOy5idWNrZXRlZXIuZXhwZXJpbWVudC5MaXN0RXhwZXJpbWVudHNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgMIAEoCVINc2VhcmNoS2V5d29yZBI2CghhcmNoaXZlZBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSCGFyY2hpdmVkEkMKCHN0YXR1c2VzGA4gAygOMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5TdGF0dXNSCHN0YXR1c2VzEioKDmVudmlyb25tZW50X2lkGA8gASgJQgPgQQJSDWVudmlyb25tZW50SWQiQAoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIBxAIIoMDChdMaXN0RXhwZXJpbWVudHNSZXNwb25zZRJCCgtleHBlcmltZW50cxgBIAMoCzIgLmJ1Y2tldGVlci5leHBlcmltZW50LkV4cGVyaW1lbnRSC2V4cGVyaW1lbnRzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50Ek8KB3N1bW1hcnkYBCABKAsyNS5idWNrZXRlZXIuZXhwZXJpbWVudC5MaXN0RXhwZXJpbWVudHNSZXNwb25zZS5TdW1tYXJ5UgdzdW1tYXJ5GpkBCgdTdW1tYXJ5Ei4KE3RvdGFsX3dhaXRpbmdfY291bnQYASABKANSEXRvdGFsV2FpdGluZ0NvdW50Ei4KE3RvdGFsX3J1bm5pbmdfY291bnQYAiABKANSEXRvdGFsUnVubmluZ0NvdW50Ei4KE3RvdGFsX3N0b3BwZWRfY291bnQYAyABKANSEXRvdGFsU3RvcHBlZENvdW50IpUDChdDcmVhdGVFeHBlcmltZW50UmVxdWVzdBJaCgdjb21tYW5kGAEgASgLMi0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ3JlYXRlRXhwZXJpbWVudENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEioKDmVudmlyb25tZW50X2lkGAMgASgJQgPgQQJSDWVudmlyb25tZW50SWQSIgoKZmVhdHVyZV9pZBgEIAEoCUID4EECUglmZWF0dXJlSWQSHgoIc3RhcnRfYXQYBSABKANCA+BBAlIHc3RhcnRBdBIcCgdzdG9wX2F0GAYgASgDQgPgQQJSBnN0b3BBdBIeCghnb2FsX2lkcxgHIAMoCUID4EECUgdnb2FsSWRzEhcKBG5hbWUYCCABKAlCA+BBAlIEbmFtZRIgCgtkZXNjcmlwdGlvbhgJIAEoCVILZGVzY3JpcHRpb24SLwoRYmFzZV92YXJpYXRpb25faWQYCiABKAlCA+BBAlIPYmFzZVZhcmlhdGlvbklkSgQIAhADIlwKGENyZWF0ZUV4cGVyaW1lbnRSZXNwb25zZRJACgpleHBlcmltZW50GAEgASgLMiAuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudFIKZXhwZXJpbWVudCLuBwoXVXBkYXRlRXhwZXJpbWVudFJlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSjwEKIGNoYW5nZV9leHBlcmltZW50X3BlcmlvZF9jb21tYW5kGAUgASgLMjMuYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ2hhbmdlRXhwZXJpbWVudFBlcmlvZENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUh1jaGFuZ2VFeHBlcmltZW50UGVyaW9kQ29tbWFuZBJ0ChNjaGFuZ2VfbmFtZV9jb21tYW5kGAYgASgLMjEuYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ2hhbmdlRXhwZXJpbWVudE5hbWVDb21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIRY2hhbmdlTmFtZUNvbW1hbmQSiQEKGmNoYW5nZV9kZXNjcmlwdGlvbl9jb21tYW5kGAcgASgLMjguYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ2hhbmdlRXhwZXJpbWVudERlc2NyaXB0aW9uQ29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSGGNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIqCg5lbnZpcm9ubWVudF9pZBgIIAEoCUID4EECUg1lbnZpcm9ubWVudElkEjAKBG5hbWUYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YCiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uEjYKCHN0YXJ0X2F0GAsgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDY0VmFsdWVSB3N0YXJ0QXQSNAoHc3RvcF9hdBgMIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQ2NFZhbHVlUgZzdG9wQXQSZQoIYXJjaGl2ZWQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQi2SQSoyKGlmIHRydWUsIHRoZSBleHBlcmltZW50IHdpbGwgYmUgYXJjaGl2ZWRSCGFyY2hpdmVkElMKBnN0YXR1cxgOIAEoCzI7LmJ1Y2tldGVlci5leHBlcmltZW50LlVwZGF0ZUV4cGVyaW1lbnRSZXF1ZXN0LlVwZGF0ZWRTdGF0dXNSBnN0YXR1cxpQCg1VcGRhdGVkU3RhdHVzEj8KBnN0YXR1cxgBIAEoDjInLmJ1Y2tldGVlci5leHBlcmltZW50LkV4cGVyaW1lbnQuU3RhdHVzUgZzdGF0dXNKBAgCEANKBAgDEARKBAgEEAUiXAoYVXBkYXRlRXhwZXJpbWVudFJlc3BvbnNlEkAKCmV4cGVyaW1lbnQYASABKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgpleHBlcmltZW50Ip0BChZTdGFydEV4cGVyaW1lbnRSZXF1ZXN0Eg4KAmlkGAIgASgJUgJpZBJGCgdjb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmV4cGVyaW1lbnQuU3RhcnRFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiIZChdTdGFydEV4cGVyaW1lbnRSZXNwb25zZSKfAQoXRmluaXNoRXhwZXJpbWVudFJlcXVlc3QSDgoCaWQYAiABKAlSAmlkEkcKB2NvbW1hbmQYAyABKAsyLS5idWNrZXRlZXIuZXhwZXJpbWVudC5GaW5pc2hFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiIaChhGaW5pc2hFeHBlcmltZW50UmVzcG9uc2UimwEKFVN0b3BFeHBlcmltZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSRQoHY29tbWFuZBgCIAEoCzIrLmJ1Y2tldGVlci5leHBlcmltZW50LlN0b3BFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZTdG9wRXhwZXJpbWVudFJlc3BvbnNlIqEBChhBcmNoaXZlRXhwZXJpbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkgKB2NvbW1hbmQYAiABKAsyLi5idWNrZXRlZXIuZXhwZXJpbWVudC5BcmNoaXZlRXhwZXJpbWVudENvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZQXJjaGl2ZUV4cGVyaW1lbnRSZXNwb25zZSKfAQoXRGVsZXRlRXhwZXJpbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkcKB2NvbW1hbmQYAiABKAsyLS5idWNrZXRlZXIuZXhwZXJpbWVudC5EZWxldGVFeHBlcmltZW50Q29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIaChhEZWxldGVFeHBlcmltZW50UmVzcG9uc2UyjSwKEUV4cGVyaW1lbnRTZXJ2aWNlEoIECgdHZXRHb2FsEiQuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR2V0R29hbFJlcXVlc3QaJS5idWNrZXRlZXIuZXhwZXJpbWVudC5HZXRHb2FsUmVzcG9uc2UiqQOSQZUDCgRnb2FsEgNHZXQaC0dldCBhIGdvYWwuKg93ZWIudjEuZ29hbC5nZXRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIKEggvdjEvZ29hbBKMBAoJTGlzdEdvYWxzEiYuYnVja2V0ZWVyLmV4cGVyaW1lbnQuTGlzdEdvYWxzUmVxdWVzdBonLmJ1Y2tldGVlci5leHBlcmltZW50Lkxpc3RHb2Fsc1Jlc3BvbnNlIq0DkkGYAwoEZ29hbBIETGlzdBoLTGlzdCBnb2Fscy4qEXdlYi52MS5nb2Fscy5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCCxIJL3YxL2dvYWxzEpcECgpDcmVhdGVHb2FsEicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ3JlYXRlR29hbFJlcXVlc3QaKC5idWNrZXRlZXIuZXhwZXJpbWVudC5DcmVhdGVHb2FsUmVzcG9uc2UitQOSQZ4DCgRnb2FsEgZDcmVhdGUaDkNyZWF0ZSBhIGdvYWwuKhJ3ZWIudjEuZ29hbC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINIggvdjEvZ29hbDoBKhKXBAoKVXBkYXRlR29hbBInLmJ1Y2tldGVlci5leHBlcmltZW50LlVwZGF0ZUdvYWxSZXF1ZXN0GiguYnVja2V0ZWVyLmV4cGVyaW1lbnQuVXBkYXRlR29hbFJlc3BvbnNlIrUDkkGeAwoEZ29hbBIGVXBkYXRlGg5VcGRhdGUgYSBnb2FsLioSd2ViLnYxLmdvYWwudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDTIIL3YxL2dvYWw6ASoSZAoLQXJjaGl2ZUdvYWwSKC5idWNrZXRlZXIuZXhwZXJpbWVudC5BcmNoaXZlR29hbFJlcXVlc3QaKS5idWNrZXRlZXIuZXhwZXJpbWVudC5BcmNoaXZlR29hbFJlc3BvbnNlIgASlAQKCkRlbGV0ZUdvYWwSJy5idWNrZXRlZXIuZXhwZXJpbWVudC5EZWxldGVHb2FsUmVxdWVzdBooLmJ1Y2tldGVlci5leHBlcmltZW50LkRlbGV0ZUdvYWxSZXNwb25zZSKyA5JBngMKBGdvYWwSBkRlbGV0ZRoORGVsZXRlIGEgZ29hbC4qEndlYi52MS5nb2FsLmRlbGV0ZUq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAgoqCC92MS9nb2FsEq0ECg1HZXRFeHBlcmltZW50EiouYnVja2V0ZWVyLmV4cGVyaW1lbnQuR2V0RXhwZXJpbWVudFJlcXVlc3QaKy5idWNrZXRlZXIuZXhwZXJpbWVudC5HZXRFeHBlcmltZW50UmVzcG9uc2UiwgOSQagDCgpleHBlcmltZW50EgNHZXQaEkdldCBhbiBleHBlcmltZW50LioVd2ViLnYxLmV4cGVyaW1lbnQuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEBIOL3YxL2V4cGVyaW1lbnQStQQKD0xpc3RFeHBlcmltZW50cxIsLmJ1Y2tldGVlci5leHBlcmltZW50Lkxpc3RFeHBlcmltZW50c1JlcXVlc3QaLS5idWNrZXRlZXIuZXhwZXJpbWVudC5MaXN0RXhwZXJpbWVudHNSZXNwb25zZSLEA5JBqQMKCmV4cGVyaW1lbnQSBExpc3QaEUxpc3QgZXhwZXJpbWVudHMuKhZ3ZWIudjEuZXhwZXJpbWVudC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCERIPL3YxL2V4cGVyaW1lbnRzEsIEChBDcmVhdGVFeHBlcmltZW50Ei0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuQ3JlYXRlRXhwZXJpbWVudFJlcXVlc3QaLi5idWNrZXRlZXIuZXhwZXJpbWVudC5DcmVhdGVFeHBlcmltZW50UmVzcG9uc2UizgOSQbEDCgpleHBlcmltZW50EgZDcmVhdGUaFUNyZWF0ZSBhbiBleHBlcmltZW50LioYd2ViLnYxLmV4cGVyaW1lbnQuY3JlYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEyIOL3YxL2V4cGVyaW1lbnQ6ASoSwgQKEFVwZGF0ZUV4cGVyaW1lbnQSLS5idWNrZXRlZXIuZXhwZXJpbWVudC5VcGRhdGVFeHBlcmltZW50UmVxdWVzdBouLmJ1Y2tldGVlci5leHBlcmltZW50LlVwZGF0ZUV4cGVyaW1lbnRSZXNwb25zZSLOA5JBsQMKCmV4cGVyaW1lbnQSBlVwZGF0ZRoVVXBkYXRlIGFuIGV4cGVyaW1lbnQuKhh3ZWIudjEuZXhwZXJpbWVudC51cGRhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwITMg4vdjEvZXhwZXJpbWVudDoBKhJwCg9TdGFydEV4cGVyaW1lbnQSLC5idWNrZXRlZXIuZXhwZXJpbWVudC5TdGFydEV4cGVyaW1lbnRSZXF1ZXN0Gi0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuU3RhcnRFeHBlcmltZW50UmVzcG9uc2UiABJzChBGaW5pc2hFeHBlcmltZW50Ei0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuRmluaXNoRXhwZXJpbWVudFJlcXVlc3QaLi5idWNrZXRlZXIuZXhwZXJpbWVudC5GaW5pc2hFeHBlcmltZW50UmVzcG9uc2UiABJtCg5TdG9wRXhwZXJpbWVudBIrLmJ1Y2tldGVlci5leHBlcmltZW50LlN0b3BFeHBlcmltZW50UmVxdWVzdBosLmJ1Y2tldGVlci5leHBlcmltZW50LlN0b3BFeHBlcmltZW50UmVzcG9uc2UiABJ2ChFBcmNoaXZlRXhwZXJpbWVudBIuLmJ1Y2tldGVlci5leHBlcmltZW50LkFyY2hpdmVFeHBlcmltZW50UmVxdWVzdBovLmJ1Y2tldGVlci5leHBlcmltZW50LkFyY2hpdmVFeHBlcmltZW50UmVzcG9uc2UiABJzChBEZWxldGVFeHBlcmltZW50Ei0uYnVja2V0ZWVyLmV4cGVyaW1lbnQuRGVsZXRlRXhwZXJpbWVudFJlcXVlc3QaLi5idWNrZXRlZXIuZXhwZXJpbWVudC5EZWxldGVFeHBlcmltZW50UmVzcG9uc2UiAEI0WjJnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXhwZXJpbWVudGIGcHJvdG8z - featureDescriptor: CscDChpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi2gIKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSHAoJYXR0cmlidXRlGAIgASgJUglhdHRyaWJ1dGUSPgoIb3BlcmF0b3IYAyABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yEhYKBnZhbHVlcxgEIAMoCVIGdmFsdWVzIskBCghPcGVyYXRvchIKCgZFUVVBTFMQABIGCgJJThABEg0KCUVORFNfV0lUSBACEg8KC1NUQVJUU19XSVRIEAMSCwoHU0VHTUVOVBAEEgsKB0dSRUFURVIQBRIUChBHUkVBVEVSX09SX0VRVUFMEAYSCAoETEVTUxAHEhEKDUxFU1NfT1JfRVFVQUwQCBIKCgZCRUZPUkUQCRIJCgVBRlRFUhAKEhAKDEZFQVRVUkVfRkxBRxALEhMKD1BBUlRJQUxMWV9NQVRDSBAMQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5AEKGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK6wIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzIkAKDVJ1bGVMaXN0VmFsdWUSLwoGdmFsdWVzGAEgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK7gEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzIkQKD1RhcmdldExpc3RWYWx1ZRIxCgZ2YWx1ZXMYASADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSBnZhbHVlc0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCqICCh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiZwoJVmFyaWF0aW9uEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24iSgoSVmFyaWF0aW9uTGlzdFZhbHVlEjQKBnZhbHVlcxgBIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK9AIKKnByb3RvL2ZlYXR1cmUvZmVhdHVyZV9sYXN0X3VzZWRfaW5mby5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi9wEKE0ZlYXR1cmVMYXN0VXNlZEluZm8SHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhgKB3ZlcnNpb24YAiABKAVSB3ZlcnNpb24SIAoMbGFzdF91c2VkX2F0GAMgASgDUgpsYXN0VXNlZEF0Eh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIyChVjbGllbnRfb2xkZXN0X3ZlcnNpb24YBSABKAlSE2NsaWVudE9sZGVzdFZlcnNpb24SMgoVY2xpZW50X2xhdGVzdF92ZXJzaW9uGAYgASgJUhNjbGllbnRMYXRlc3RWZXJzaW9uQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKlAIKIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJQCgxQcmVyZXF1aXNpdGUSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiUAoVUHJlcmVxdWlzaXRlTGlzdFZhbHVlEjcKBnZhbHVlcxgBIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKoAUKIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSKtBAoLRmxhZ1RyaWdnZXISDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAQgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YBSABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SIwoNdHJpZ2dlcl9jb3VudBgHIAEoBVIMdHJpZ2dlckNvdW50EioKEWxhc3RfdHJpZ2dlcmVkX2F0GAggASgDUg9sYXN0VHJpZ2dlcmVkQXQSFAoFdG9rZW4YCSABKAlSBXRva2VuEhoKCGRpc2FibGVkGAogASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAsgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgMIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIioKBFR5cGUSEAoMVHlwZV9VTktOT1dOEAASEAoMVHlwZV9XRUJIT09LEAEiOwoGQWN0aW9uEhIKDkFjdGlvbl9VTktOT1dOEAASDQoJQWN0aW9uX09OEAESDgoKQWN0aW9uX09GRhACSgQIAxAEQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKwCMKG3Byb3RvL2ZlYXR1cmUvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8iOQoHQ29tbWFuZBIuCgdjb21tYW5kGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIHY29tbWFuZCK1AwoUQ3JlYXRlRmVhdHVyZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSEgoEdGFncxgFIAMoCVIEdGFncxJYChpkZWZhdWx0X29uX3ZhcmlhdGlvbl9pbmRleBgGIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhdkZWZhdWx0T25WYXJpYXRpb25JbmRleBJaChtkZWZhdWx0X29mZl92YXJpYXRpb25faW5kZXgYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIYZGVmYXVsdE9mZlZhcmlhdGlvbkluZGV4Ek8KDnZhcmlhdGlvbl90eXBlGAggASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlIhcKFUFyY2hpdmVGZWF0dXJlQ29tbWFuZCIZChdVbmFyY2hpdmVGZWF0dXJlQ29tbWFuZCIWChREZWxldGVGZWF0dXJlQ29tbWFuZCIqChRSZW5hbWVGZWF0dXJlQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIjwKGENoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iuAEKKUNoYW5nZUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNTdGF0dXNDb21tYW5kEjkKBnN0YXR1cxgBIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYAyABKANSBWNvdW50IiEKDUFkZFRhZ0NvbW1hbmQSEAoDdGFnGAEgASgJUgN0YWciJAoQUmVtb3ZlVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIWChRFbmFibGVGZWF0dXJlQ29tbWFuZCIXChVEaXNhYmxlRmVhdHVyZUNvbW1hbmQiYQoTQWRkVmFyaWF0aW9uQ29tbWFuZBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iKAoWUmVtb3ZlVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiQwobQ2hhbmdlVmFyaWF0aW9uVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiQAoaQ2hhbmdlVmFyaWF0aW9uTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohQ2hhbmdlVmFyaWF0aW9uRGVzY3JpcHRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iKwoZQ2hhbmdlT2ZmVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiPwoZQWRkVXNlclRvVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJECh5SZW1vdmVVc2VyRnJvbVZhcmlhdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBHVzZXIYAiABKAlSBHVzZXIiVwocQ2hhbmdlRGVmYXVsdFN0cmF0ZWd5Q29tbWFuZBI3CghzdHJhdGVneRgBIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI9Cg5BZGRSdWxlQ29tbWFuZBIrCgRydWxlGAEgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJ9ChlDaGFuZ2VSdWxlU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiNAoXQ2hhbmdlUnVsZXNPcmRlckNvbW1hbmQSGQoIcnVsZV9pZHMYAiADKAlSB3J1bGVJZHMiIwoRRGVsZXRlUnVsZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkIl4KEEFkZENsYXVzZUNvbW1hbmQSFwoHcnVsZV9pZBgBIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgCIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlIj4KE0RlbGV0ZUNsYXVzZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJlChxDaGFuZ2VDbGF1c2VBdHRyaWJ1dGVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSHAoJYXR0cmlidXRlGAMgASgJUglhdHRyaWJ1dGUihgEKG0NoYW5nZUNsYXVzZU9wZXJhdG9yQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJWChVBZGRDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiWQoYUmVtb3ZlQ2xhdXNlVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSFAoFdmFsdWUYAyABKAlSBXZhbHVlIoMBChpDaGFuZ2VGaXhlZFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kihwEKHENoYW5nZVJvbGxvdXRTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kiTAoUQ3JlYXRlU2VnbWVudENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iFgoURGVsZXRlU2VnbWVudENvbW1hbmQiLgoYQ2hhbmdlU2VnbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQwofQ2hhbmdlU2VnbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24ibgoVQWRkU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlInEKGERlbGV0ZVNlZ21lbnRVc2VyQ29tbWFuZBIZCgh1c2VyX2lkcxgBIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSJvCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzQ29tbWFuZBISCgRkYXRhGAEgASgMUgRkYXRhEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIiAKHkluY3JlbWVudEZlYXR1cmVWZXJzaW9uQ29tbWFuZCJCChNDbG9uZUZlYXR1cmVDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkSgQIARACIhoKGFJlc2V0U2FtcGxpbmdTZWVkQ29tbWFuZCJdChZBZGRQcmVyZXF1aXNpdGVDb21tYW5kEkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlIjoKGVJlbW92ZVByZXJlcXVpc2l0ZUNvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkImkKIkNoYW5nZVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUi0wEKGENyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgCIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAMgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIhkKF1Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kIkcKI0NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIaChhFbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQiGwoZRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIaChhEZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQiHwodVXBkYXRlRmxhZ1RyaWdnZXJVc2FnZUNvbW1hbmRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqeAgoacHJvdG8vZmVhdHVyZS9yZWFzb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIrEBCgZSZWFzb24SMgoEdHlwZRgBIAEoDjIeLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvbi5UeXBlUgR0eXBlEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJaCgRUeXBlEgoKBlRBUkdFVBAAEggKBFJVTEUQARILCgdERUZBVUxUEAMSCgoGQ0xJRU5UEAQSEQoNT0ZGX1ZBUklBVElPThAFEhAKDFBSRVJFUVVJU0lURRAGQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKmAYKHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90byLjAgoKRXZhbHVhdGlvbhIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SFwoHdXNlcl9pZBgEIAEoCVIGdXNlcklkEiEKDHZhcmlhdGlvbl9pZBgFIAEoCVILdmFyaWF0aW9uSWQSPgoJdmFyaWF0aW9uGAYgASgLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uQgIYAVIJdmFyaWF0aW9uEjEKBnJlYXNvbhgHIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvblIGcmVhc29uEicKD3ZhcmlhdGlvbl92YWx1ZRgIIAEoCVIOdmFyaWF0aW9uVmFsdWUSJQoOdmFyaWF0aW9uX25hbWUYCSABKAlSDXZhcmlhdGlvbk5hbWUihgIKD1VzZXJFdmFsdWF0aW9ucxISCgJpZBgBIAEoCUICGAFSAmlkEj8KC2V2YWx1YXRpb25zGAIgAygLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblILZXZhbHVhdGlvbnMSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0EjAKFGFyY2hpdmVkX2ZlYXR1cmVfaWRzGAQgAygJUhJhcmNoaXZlZEZlYXR1cmVJZHMSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSIqCgVTdGF0ZRIKCgZRVUVVRUQQABILCgdQQVJUSUFMEAESCAoERlVMTBACQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKhwUKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiK1AgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUEliBnByb3RvMwrhRgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi/gQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgttZXNzYWdlVHlwZRJBCgllbnVtX3R5cGUYBSADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSQQoHc2VydmljZRgGIAMoCzInLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlRGVzY3JpcHRvclByb3RvUgdzZXJ2aWNlEkMKCWV4dGVuc2lvbhgHIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSGAoHZWRpdGlvbhgNIAEoCVIHZWRpdGlvbiK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKtBAoVRXh0ZW5zaW9uUmFuZ2VPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uElkKC2RlY2xhcmF0aW9uGAIgAygLMjIuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5EZWNsYXJhdGlvbkIDiAECUgtkZWNsYXJhdGlvbhJoCgx2ZXJpZmljYXRpb24YAyABKA4yOC5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLlZlcmlmaWNhdGlvblN0YXRlOgpVTlZFUklGSUVEUgx2ZXJpZmljYXRpb24aswEKC0RlY2xhcmF0aW9uEhYKBm51bWJlchgBIAEoBVIGbnVtYmVyEhsKCWZ1bGxfbmFtZRgCIAEoCVIIZnVsbE5hbWUSEgoEdHlwZRgDIAEoCVIEdHlwZRIjCgtpc19yZXBlYXRlZBgEIAEoCEICGAFSCmlzUmVwZWF0ZWQSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZCI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVFVSVJFRBACEhIKDkxBQkVMX1JFUEVBVEVEEAMiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKRCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSNwoUcGhwX2dlbmVyaWNfc2VydmljZXMYKiABKAg6BWZhbHNlUhJwaHBHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnIrsDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoihQkKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSgoGdGFyZ2V0GBIgASgOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlQgIYAVIGdGFyZ2V0EkgKB3RhcmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVSB3RhcmdldHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBSJzCgxPbmVvZk9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAJCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbgqoAgocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwqSAQoZcHJvdG8vY29tbW9uL3N0cmluZy5wcm90bxIQYnVja2V0ZWVyLmNvbW1vbiIpCg9TdHJpbmdMaXN0VmFsdWUSFgoGdmFsdWVzGAEgAygJUgZ2YWx1ZXNCMFouZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2NvbW1vbmIGcHJvdG8zCsAEChVwcm90by91c2VyL3VzZXIucHJvdG8SDmJ1Y2tldGVlci51c2VyIt4DCgRVc2VyEg4KAmlkGAEgASgJUgJpZBIyCgRkYXRhGAIgAygLMh4uYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhRW50cnlSBGRhdGESRQoLdGFnZ2VkX2RhdGEYAyADKAsyJC5idWNrZXRlZXIudXNlci5Vc2VyLlRhZ2dlZERhdGFFbnRyeVIKdGFnZ2VkRGF0YRIbCglsYXN0X3NlZW4YBCABKANSCGxhc3RTZWVuEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBp8CgREYXRhEjoKBXZhbHVlGAEgAygLMiQuYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhLlZhbHVlRW50cnlSBXZhbHVlGjgKClZhbHVlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARo3CglEYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpYCg9UYWdnZWREYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLwoFdmFsdWUYAiABKAsyGS5idWNrZXRlZXIudXNlci5Vc2VyLkRhdGFSBXZhbHVlOgI4AUIuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vdXNlcmIGcHJvdG8zCsiYAQobcHJvdG8vZmVhdHVyZS9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhlwcm90by9jb21tb24vc3RyaW5nLnByb3RvGhtwcm90by9mZWF0dXJlL2NvbW1hbmQucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvGhVwcm90by91c2VyL3VzZXIucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhpwcm90by9mZWF0dXJlL3RhcmdldC5wcm90byJQChFHZXRGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0RmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIlMKEkdldEZlYXR1cmVzUmVxdWVzdBIQCgNpZHMYAiADKAlSA2lkcxIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJNChNHZXRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMi9QUKE0xpc3RGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEkkKCG9yZGVyX2J5GAQgASgOMi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El4KD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI1LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEh4KCm1haW50YWluZXIYByABKAlSCm1haW50YWluZXISNAoHZW5hYmxlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSQQoOaGFzX2V4cGVyaW1lbnQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1oYXNFeHBlcmltZW50EiUKDnNlYXJjaF9rZXl3b3JkGAogASgJUg1zZWFyY2hLZXl3b3JkEjYKCGFyY2hpdmVkGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSRwoRaGFzX3ByZXJlcXVpc2l0ZXMYDCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhBoYXNQcmVyZXF1aXNpdGVzEiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIlcKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBFRBR1MQBBILCgdFTkFCTEVEEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIBhAHIocBChRMaXN0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IpIBChpMaXN0RW5hYmxlZEZlYXR1cmVzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEhIKBHRhZ3MYAyADKAlSBHRhZ3MSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUibQobTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3IihgEKFENyZWF0ZUZlYXR1cmVSZXF1ZXN0EkEKB2NvbW1hbmQYASABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJNChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUi0AYKFFVwZGF0ZUZlYXR1cmVSZXF1ZXN0EhgKB2NvbW1lbnQYASABKAlSB2NvbW1lbnQSKgoOZW52aXJvbm1lbnRfaWQYAiABKAlCA+BBAlINZW52aXJvbm1lbnRJZBITCgJpZBgDIAEoCUID4EECUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhI1CgR0YWdzGAYgASgLMiEuYnVja2V0ZWVyLmNvbW1vbi5TdHJpbmdMaXN0VmFsdWVSBHRhZ3MSNAoHZW5hYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSNgoIYXJjaGl2ZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghhcmNoaXZlZBJFCgp2YXJpYXRpb25zGAkgASgLMiUuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uTGlzdFZhbHVlUgp2YXJpYXRpb25zEk4KDXByZXJlcXVpc2l0ZXMYCiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVMaXN0VmFsdWVSDXByZXJlcXVpc2l0ZXMSPAoHdGFyZ2V0cxgLIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldExpc3RWYWx1ZVIHdGFyZ2V0cxI2CgVydWxlcxgMIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVMaXN0VmFsdWVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYDSABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EkEKDW9mZl92YXJpYXRpb24YDiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDG9mZlZhcmlhdGlvbhIuChNyZXNldF9zYW1wbGluZ19zZWVkGA8gASgIUhFyZXNldFNhbXBsaW5nU2VlZCJNChVVcGRhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUisAEKFEVuYWJsZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVFbmFibGVGZWF0dXJlUmVzcG9uc2UisgEKFURpc2FibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkRpc2FibGVGZWF0dXJlUmVzcG9uc2UisgEKFUFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkFyY2hpdmVGZWF0dXJlUmVzcG9uc2UitgEKF1VuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJECgdjb21tYW5kGAIgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIaChhVbmFyY2hpdmVGZWF0dXJlUmVzcG9uc2UisAEKFERlbGV0ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVEZWxldGVGZWF0dXJlUmVzcG9uc2Ui3wMKG1VwZGF0ZUZlYXR1cmVEZXRhaWxzUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSXQoWcmVuYW1lX2ZlYXR1cmVfY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLlJlbmFtZUZlYXR1cmVDb21tYW5kUhRyZW5hbWVGZWF0dXJlQ29tbWFuZBJpChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZFIYY2hhbmdlRGVzY3JpcHRpb25Db21tYW5kEkoKEGFkZF90YWdfY29tbWFuZHMYBCADKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5BZGRUYWdDb21tYW5kUg5hZGRUYWdDb21tYW5kcxJTChNyZW1vdmVfdGFnX2NvbW1hbmRzGAUgAygLMiMuYnVja2V0ZWVyLmZlYXR1cmUuUmVtb3ZlVGFnQ29tbWFuZFIRcmVtb3ZlVGFnQ29tbWFuZHMSGAoHY29tbWVudBgHIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgIIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByIeChxVcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIq8BCh5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIhCh9VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1Jlc3BvbnNlIqECCh1VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSNgoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kUghjb21tYW5kcxIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EkkKBGZyb20YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdC5Gcm9tUgRmcm9tEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkIiYKBEZyb20SCwoHVU5LTk9XThAAEggKBFVTRVIQARIHCgNPUFMQAkoECAMQBCIgCh5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVzcG9uc2UilAEKE0Nsb25lRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkAKB2NvbW1hbmQYAiABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhYKFENsb25lRmVhdHVyZVJlc3BvbnNlItkBChRDcmVhdGVTZWdtZW50UmVxdWVzdBJUCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEhcKBG5hbWUYAyABKAlCA+BBAlIEbmFtZRIqCg5lbnZpcm9ubWVudF9pZBgEIAEoCUID4EECUg1lbnZpcm9ubWVudElkEiAKC2Rlc2NyaXB0aW9uGAUgASgJUgtkZXNjcmlwdGlvbkoECAIQAyJNChVDcmVhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiWgoRR2V0U2VnbWVudFJlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZEoECAIQAyJKChJHZXRTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiywQKE0xpc3RTZWdtZW50c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIzCgZzdGF0dXMYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIGc3RhdHVzEkMKEGlzX2luX3VzZV9zdGF0dXMYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1pc0luVXNlU3RhdHVzEioKDmVudmlyb25tZW50X2lkGAkgASgJQgPgQQJSDWVudmlyb25tZW50SWQiXAoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSDwoLQ09OTkVDVElPTlMQBBIJCgVVU0VSUxAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIrMBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0EiIKCnNlZ21lbnRfaWQYAiABKAlCA+BBAlIJc2VnbWVudElkEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEioKDmVudmlyb25tZW50X2lkGAQgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgBEAIiNgogQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2USEgoEZGF0YRgBIAEoDFIEZGF0YSKhAQoXRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QSKAoEdXNlchgBIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISEAoDdGFnGAMgASgJUgN0YWcSHQoKZmVhdHVyZV9pZBgEIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAhADImkKGEV2YWx1YXRlRmVhdHVyZXNSZXNwb25zZRJNChB1c2VyX2V2YWx1YXRpb25zGAEgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUg91c2VyRXZhbHVhdGlvbnMirAMKD0xpc3RUYWdzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkUKCG9yZGVyX2J5GAQgASgOMiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjEuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCJICgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAEQAiJ3ChBMaXN0VGFnc1Jlc3BvbnNlEioKBHRhZ3MYASADKAsyFi5idWNrZXRlZXIuZmVhdHVyZS5UYWdSBHRhZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiswEKGENyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBJqChtjcmVhdGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlckNvbW1hbmRSGGNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJwChlDcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCLDAQoYRGVsZXRlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtkZWxldGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlckNvbW1hbmRSGGRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlEZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIuYBChhVcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEowBCidjaGFuZ2VfZmxhZ190cmlnZ2VyX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyNi5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZFIjY2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZVXBkYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSLDAQoYRW5hYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtlbmFibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlckNvbW1hbmRSGGVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlFbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIscBChlEaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJtChxkaXNhYmxlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIZZGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIcChpEaXNhYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSK/AQoXUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmcKGnJlc2V0X2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmRSF3Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm8KGFJlc2V0RmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiVAoVR2V0RmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJtChZHZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCKqAwoXTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEhsKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSTQoIb3JkZXJfYnkYBSABKA4yMi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmIKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI5LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCI2CgdPcmRlckJ5EgsKB0RFRkFVTFQQABIOCgpDUkVBVEVEX0FUEAESDgoKVVBEQVRFRF9BVBACIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAIQAyKjAgoYTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlEmMKDWZsYWdfdHJpZ2dlcnMYASADKAsyPi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UuRmxhZ1RyaWdnZXJXaXRoVXJsUgxmbGFnVHJpZ2dlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQaaQoSRmxhZ1RyaWdnZXJXaXRoVXJsEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCIxChlGbGFnVHJpZ2dlcldlYmhvb2tSZXF1ZXN0EhQKBXRva2VuGAEgASgJUgV0b2tlbiIcChpGbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZTKaOQoORmVhdHVyZVNlcnZpY2USWwoKR2V0RmVhdHVyZRIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlc3BvbnNlIgASXgoLR2V0RmVhdHVyZXMSJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1JlcXVlc3QaJi5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1Jlc3BvbnNlIgASYQoMTGlzdEZlYXR1cmVzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIgASdgoTTGlzdEVuYWJsZWRGZWF0dXJlcxItLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RFbmFibGVkRmVhdHVyZXNSZXF1ZXN0Gi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlIgASZAoNQ3JlYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlIgASZAoNVXBkYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIgASZwoNRW5hYmxlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESagoORGlzYWJsZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESZwoOQXJjaGl2ZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASbQoQVW5hcmNoaXZlRmVhdHVyZRIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASZAoNRGVsZXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlc3BvbnNlIgASeQoUVXBkYXRlRmVhdHVyZURldGFpbHMSLi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QaLy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIgASggEKF1VwZGF0ZUZlYXR1cmVWYXJpYXRpb25zEjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0GjIuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSIAEn8KFlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmcSMC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXNwb25zZSIAEmEKDENsb25lRmVhdHVyZRImLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVSZXNwb25zZSIAEqYECg1DcmVhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZDcmVhdGUaEUNyZWF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQIgsvdjEvc2VnbWVudDoBKhKRBAoKR2V0U2VnbWVudBIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlc3BvbnNlIrUDkkGeAwoHc2VnbWVudBIDR2V0Gg5HZXQgYSBzZWdtZW50LioSd2ViLnYxLnNlZ21lbnQuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDRILL3YxL3NlZ21lbnQSmgQKDExpc3RTZWdtZW50cxImLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXNwb25zZSK4A5JBoAMKB3NlZ21lbnQSBExpc3QaDkxpc3Qgc2VnbWVudHMuKhN3ZWIudjEuc2VnbWVudC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDhIML3YxL3NlZ21lbnRzEqMECg1EZWxldGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVzcG9uc2UivgOSQacDCgdzZWdtZW50EgZEZWxldGUaEURlbGV0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINKgsvdjEvc2VnbWVudBKmBAoNVXBkYXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlc3BvbnNlIsEDkkGnAwoHc2VnbWVudBIGVXBkYXRlGhFVcGRhdGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEDILL3YxL3NlZ21lbnQ6ASoSagoOQWRkU2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgEScwoRRGVsZXRlU2VnbWVudFVzZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESagoOR2V0U2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESbQoQTGlzdFNlZ21lbnRVc2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50VXNlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIgAS7AQKFkJ1bGtVcGxvYWRTZWdtZW50VXNlcnMSMC5idWNrZXRlZXIuZmVhdHVyZS5CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSLsA5JBwAMKB3NlZ21lbnQSC0J1bGsgdXBsb2FkGhpCdWxrIHVwbG9hZCBzZWdtZW50IHVzZXJzLiogd2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa191cGxvYWRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiIh0vdjEvc2VnbWVudF91c2Vycy9idWxrX3VwbG9hZDoBKhL3BAoYQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzEjIuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVxdWVzdBozLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIvEDkkHGAwoHc2VnbWVudBINQnVsayBkb3dubG9hZBocQnVsayBkb3dubG9hZCBzZWdtZW50IHVzZXJzLioid2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa19kb3dubG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9zZWdtZW50X3VzZXJzL2J1bGtfZG93bmxvYWQSbQoQRXZhbHVhdGVGZWF0dXJlcxIqLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRlRmVhdHVyZXNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlIgASVQoITGlzdFRhZ3MSIi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QaIy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1Jlc3BvbnNlIgAScAoRQ3JlYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRVXBkYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRW5hYmxlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScwoSRGlzYWJsZUZsYWdUcmlnZ2VyEiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQUmVzZXRGbGFnVHJpZ2dlchIqLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRGVsZXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASZwoOR2V0RmxhZ1RyaWdnZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQTGlzdEZsYWdUcmlnZ2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlIgASlAEKEkZsYWdUcmlnZ2VyV2ViaG9vaxIsLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QaLS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZSIhgtPkkwIbIhkvd2ViaG9vay90cmlnZ2Vycy97dG9rZW59QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzM= + featureDescriptor: CscDChpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi2gIKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSHAoJYXR0cmlidXRlGAIgASgJUglhdHRyaWJ1dGUSPgoIb3BlcmF0b3IYAyABKA4yIi5idWNrZXRlZXIuZmVhdHVyZS5DbGF1c2UuT3BlcmF0b3JSCG9wZXJhdG9yEhYKBnZhbHVlcxgEIAMoCVIGdmFsdWVzIskBCghPcGVyYXRvchIKCgZFUVVBTFMQABIGCgJJThABEg0KCUVORFNfV0lUSBACEg8KC1NUQVJUU19XSVRIEAMSCwoHU0VHTUVOVBAEEgsKB0dSRUFURVIQBRIUChBHUkVBVEVSX09SX0VRVUFMEAYSCAoETEVTUxAHEhEKDUxFU1NfT1JfRVFVQUwQCBIKCgZCRUZPUkUQCRIJCgVBRlRFUhAKEhAKDEZFQVRVUkVfRkxBRxALEhMKD1BBUlRJQUxMWV9NQVRDSBAMQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5AEKGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI2CgNBbnkSGQoIdHlwZV91cmwYASABKAlSB3R5cGVVcmwSFAoFdmFsdWUYAiABKAxSBXZhbHVlQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKhgQKHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIiMKC0RvdWJsZVZhbHVlEhQKBXZhbHVlGAEgASgBUgV2YWx1ZSIiCgpGbG9hdFZhbHVlEhQKBXZhbHVlGAEgASgCUgV2YWx1ZSIiCgpJbnQ2NFZhbHVlEhQKBXZhbHVlGAEgASgDUgV2YWx1ZSIjCgtVSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoBFIFdmFsdWUiIgoKSW50MzJWYWx1ZRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUiIwoLVUludDMyVmFsdWUSFAoFdmFsdWUYASABKA1SBXZhbHVlIiEKCUJvb2xWYWx1ZRIUCgV2YWx1ZRgBIAEoCFIFdmFsdWUiIwoLU3RyaW5nVmFsdWUSFAoFdmFsdWUYASABKAlSBXZhbHVlIiIKCkJ5dGVzVmFsdWUSFAoFdmFsdWUYASABKAxSBXZhbHVlQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1XcmFwcGVyc1Byb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3dyYXBwZXJzcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK6wIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzIkAKDVJ1bGVMaXN0VmFsdWUSLwoGdmFsdWVzGAEgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK7gEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzIkQKD1RhcmdldExpc3RWYWx1ZRIxCgZ2YWx1ZXMYASADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSBnZhbHVlc0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCqICCh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiZwoJVmFyaWF0aW9uEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24iSgoSVmFyaWF0aW9uTGlzdFZhbHVlEjQKBnZhbHVlcxgBIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK9AIKKnByb3RvL2ZlYXR1cmUvZmVhdHVyZV9sYXN0X3VzZWRfaW5mby5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi9wEKE0ZlYXR1cmVMYXN0VXNlZEluZm8SHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhgKB3ZlcnNpb24YAiABKAVSB3ZlcnNpb24SIAoMbGFzdF91c2VkX2F0GAMgASgDUgpsYXN0VXNlZEF0Eh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIyChVjbGllbnRfb2xkZXN0X3ZlcnNpb24YBSABKAlSE2NsaWVudE9sZGVzdFZlcnNpb24SMgoVY2xpZW50X2xhdGVzdF92ZXJzaW9uGAYgASgJUhNjbGllbnRMYXRlc3RWZXJzaW9uQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKlAIKIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJQCgxQcmVyZXF1aXNpdGUSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiUAoVUHJlcmVxdWlzaXRlTGlzdFZhbHVlEjcKBnZhbHVlcxgBIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5A0KG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvIp4ICgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQSSgoPc2NoZWR1bGVfdXBkYXRlGBcgAygLMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2NoZWR1bGVVcGRhdGVSDnNjaGVkdWxlVXBkYXRlIj4KDVZhcmlhdGlvblR5cGUSCgoGU1RSSU5HEAASCwoHQk9PTEVBThABEgoKBk5VTUJFUhACEggKBEpTT04QAyJSCghGZWF0dXJlcxI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEg4KAmlkGAIgASgJUgJpZCJzChJFbnZpcm9ubWVudEZlYXR1cmUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyJnCgNUYWcSDgoCaWQYASABKAlSAmlkEh0KCmNyZWF0ZWRfYXQYAiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgEIAEoCVIEbmFtZSJjCg5TY2hlZHVsZVVwZGF0ZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZRIbCgl1cGRhdGVfYXQYAiABKANSCHVwZGF0ZUF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKoAUKIHByb3RvL2ZlYXR1cmUvZmxhZ190cmlnZ2VyLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSKtBAoLRmxhZ1RyaWdnZXISDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI3CgR0eXBlGAQgASgOMiMuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuVHlwZVIEdHlwZRI9CgZhY3Rpb24YBSABKA4yJS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlci5BY3Rpb25SBmFjdGlvbhIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SIwoNdHJpZ2dlcl9jb3VudBgHIAEoBVIMdHJpZ2dlckNvdW50EioKEWxhc3RfdHJpZ2dlcmVkX2F0GAggASgDUg9sYXN0VHJpZ2dlcmVkQXQSFAoFdG9rZW4YCSABKAlSBXRva2VuEhoKCGRpc2FibGVkGAogASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAsgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgMIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIioKBFR5cGUSEAoMVHlwZV9VTktOT1dOEAASEAoMVHlwZV9XRUJIT09LEAEiOwoGQWN0aW9uEhIKDkFjdGlvbl9VTktOT1dOEAASDQoJQWN0aW9uX09OEAESDgoKQWN0aW9uX09GRhACSgQIAxAEQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKwCMKG3Byb3RvL2ZlYXR1cmUvY29tbWFuZC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHmdvb2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoacHJvdG8vZmVhdHVyZS9jbGF1c2UucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxobcHJvdG8vZmVhdHVyZS9zZWdtZW50LnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8iOQoHQ29tbWFuZBIuCgdjb21tYW5kGAEgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIHY29tbWFuZCK1AwoUQ3JlYXRlRmVhdHVyZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjwKCnZhcmlhdGlvbnMYBCADKAsyHC5idWNrZXRlZXIuZmVhdHVyZS5WYXJpYXRpb25SCnZhcmlhdGlvbnMSEgoEdGFncxgFIAMoCVIEdGFncxJYChpkZWZhdWx0X29uX3ZhcmlhdGlvbl9pbmRleBgGIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhdkZWZhdWx0T25WYXJpYXRpb25JbmRleBJaChtkZWZhdWx0X29mZl92YXJpYXRpb25faW5kZXgYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIYZGVmYXVsdE9mZlZhcmlhdGlvbkluZGV4Ek8KDnZhcmlhdGlvbl90eXBlGAggASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlIhcKFUFyY2hpdmVGZWF0dXJlQ29tbWFuZCIZChdVbmFyY2hpdmVGZWF0dXJlQ29tbWFuZCIWChREZWxldGVGZWF0dXJlQ29tbWFuZCIqChRSZW5hbWVGZWF0dXJlQ29tbWFuZBISCgRuYW1lGAEgASgJUgRuYW1lIjwKGENoYW5nZURlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24iuAEKKUNoYW5nZUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNTdGF0dXNDb21tYW5kEjkKBnN0YXR1cxgBIAEoDjIhLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnQuU3RhdHVzUgZzdGF0dXMSOgoFc3RhdGUYAiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSFAoFY291bnQYAyABKANSBWNvdW50IiEKDUFkZFRhZ0NvbW1hbmQSEAoDdGFnGAEgASgJUgN0YWciJAoQUmVtb3ZlVGFnQ29tbWFuZBIQCgN0YWcYASABKAlSA3RhZyIWChRFbmFibGVGZWF0dXJlQ29tbWFuZCIXChVEaXNhYmxlRmVhdHVyZUNvbW1hbmQiYQoTQWRkVmFyaWF0aW9uQ29tbWFuZBIUCgV2YWx1ZRgBIAEoCVIFdmFsdWUSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iKAoWUmVtb3ZlVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiQwobQ2hhbmdlVmFyaWF0aW9uVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUiQAoaQ2hhbmdlVmFyaWF0aW9uTmFtZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVQohQ2hhbmdlVmFyaWF0aW9uRGVzY3JpcHRpb25Db21tYW5kEg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iKwoZQ2hhbmdlT2ZmVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQiPwoZQWRkVXNlclRvVmFyaWF0aW9uQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSEgoEdXNlchgCIAEoCVIEdXNlciJECh5SZW1vdmVVc2VyRnJvbVZhcmlhdGlvbkNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhIKBHVzZXIYAiABKAlSBHVzZXIiVwocQ2hhbmdlRGVmYXVsdFN0cmF0ZWd5Q29tbWFuZBI3CghzdHJhdGVneRgBIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneSI9Cg5BZGRSdWxlQ29tbWFuZBIrCgRydWxlGAEgASgLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIEcnVsZSJ9ChlDaGFuZ2VSdWxlU3RyYXRlZ3lDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSNwoIc3RyYXRlZ3kYAyABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiNAoXQ2hhbmdlUnVsZXNPcmRlckNvbW1hbmQSGQoIcnVsZV9pZHMYAiADKAlSB3J1bGVJZHMiIwoRRGVsZXRlUnVsZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkIl4KEEFkZENsYXVzZUNvbW1hbmQSFwoHcnVsZV9pZBgBIAEoCVIGcnVsZUlkEjEKBmNsYXVzZRgCIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZVIGY2xhdXNlIj4KE0RlbGV0ZUNsYXVzZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJlChxDaGFuZ2VDbGF1c2VBdHRyaWJ1dGVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSHAoJYXR0cmlidXRlGAMgASgJUglhdHRyaWJ1dGUihgEKG0NoYW5nZUNsYXVzZU9wZXJhdG9yQ29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEj4KCG9wZXJhdG9yGAMgASgOMiIuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvciJWChVBZGRDbGF1c2VWYWx1ZUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiWQoYUmVtb3ZlQ2xhdXNlVmFsdWVDb21tYW5kEg4KAmlkGAEgASgJUgJpZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSFAoFdmFsdWUYAyABKAlSBXZhbHVlIoMBChpDaGFuZ2VGaXhlZFN0cmF0ZWd5Q29tbWFuZBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kihwEKHENoYW5nZVJvbGxvdXRTdHJhdGVneUNvbW1hbmQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kiTAoUQ3JlYXRlU2VnbWVudENvbW1hbmQSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iFgoURGVsZXRlU2VnbWVudENvbW1hbmQiLgoYQ2hhbmdlU2VnbWVudE5hbWVDb21tYW5kEhIKBG5hbWUYASABKAlSBG5hbWUiQwofQ2hhbmdlU2VnbWVudERlc2NyaXB0aW9uQ29tbWFuZBIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24ibgoVQWRkU2VnbWVudFVzZXJDb21tYW5kEhkKCHVzZXJfaWRzGAEgAygJUgd1c2VySWRzEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlInEKGERlbGV0ZVNlZ21lbnRVc2VyQ29tbWFuZBIZCgh1c2VyX2lkcxgBIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgCIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSJvCh1CdWxrVXBsb2FkU2VnbWVudFVzZXJzQ29tbWFuZBISCgRkYXRhGAEgASgMUgRkYXRhEjoKBXN0YXRlGAIgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlIiAKHkluY3JlbWVudEZlYXR1cmVWZXJzaW9uQ29tbWFuZCJCChNDbG9uZUZlYXR1cmVDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkSgQIARACIhoKGFJlc2V0U2FtcGxpbmdTZWVkQ29tbWFuZCJdChZBZGRQcmVyZXF1aXNpdGVDb21tYW5kEkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlIjoKGVJlbW92ZVByZXJlcXVpc2l0ZUNvbW1hbmQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkImkKIkNoYW5nZVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNvbW1hbmQSQwoMcHJlcmVxdWlzaXRlGAEgASgLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUgxwcmVyZXF1aXNpdGUi0wEKGENyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgCIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAMgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIhkKF1Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kIkcKI0NoYW5nZUZsYWdUcmlnZ2VyRGVzY3JpcHRpb25Db21tYW5kEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbiIaChhFbmFibGVGbGFnVHJpZ2dlckNvbW1hbmQiGwoZRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZCIaChhEZWxldGVGbGFnVHJpZ2dlckNvbW1hbmQiHwodVXBkYXRlRmxhZ1RyaWdnZXJVc2FnZUNvbW1hbmRCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwqeAgoacHJvdG8vZmVhdHVyZS9yZWFzb24ucHJvdG8SEWJ1Y2tldGVlci5mZWF0dXJlIrEBCgZSZWFzb24SMgoEdHlwZRgBIAEoDjIeLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvbi5UeXBlUgR0eXBlEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCJaCgRUeXBlEgoKBlRBUkdFVBAAEggKBFJVTEUQARILCgdERUZBVUxUEAMSCgoGQ0xJRU5UEAQSEQoNT0ZGX1ZBUklBVElPThAFEhAKDFBSRVJFUVVJU0lURRAGQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKmAYKHnByb3RvL2ZlYXR1cmUvZXZhbHVhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhpwcm90by9mZWF0dXJlL3JlYXNvbi5wcm90byLjAgoKRXZhbHVhdGlvbhIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgDIAEoBVIOZmVhdHVyZVZlcnNpb24SFwoHdXNlcl9pZBgEIAEoCVIGdXNlcklkEiEKDHZhcmlhdGlvbl9pZBgFIAEoCVILdmFyaWF0aW9uSWQSPgoJdmFyaWF0aW9uGAYgASgLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uQgIYAVIJdmFyaWF0aW9uEjEKBnJlYXNvbhgHIAEoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlJlYXNvblIGcmVhc29uEicKD3ZhcmlhdGlvbl92YWx1ZRgIIAEoCVIOdmFyaWF0aW9uVmFsdWUSJQoOdmFyaWF0aW9uX25hbWUYCSABKAlSDXZhcmlhdGlvbk5hbWUihgIKD1VzZXJFdmFsdWF0aW9ucxISCgJpZBgBIAEoCUICGAFSAmlkEj8KC2V2YWx1YXRpb25zGAIgAygLMh0uYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGlvblILZXZhbHVhdGlvbnMSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0EjAKFGFyY2hpdmVkX2ZlYXR1cmVfaWRzGAQgAygJUhJhcmNoaXZlZEZlYXR1cmVJZHMSIQoMZm9yY2VfdXBkYXRlGAUgASgIUgtmb3JjZVVwZGF0ZSIqCgVTdGF0ZRIKCgZRVUVVRUQQABILCgdQQVJUSUFMEAESCAoERlVMTBACQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKhwUKFWdvb2dsZS9hcGkvaHR0cC5wcm90bxIKZ29vZ2xlLmFwaSJ5CgRIdHRwEioKBXJ1bGVzGAEgAygLMhQuZ29vZ2xlLmFwaS5IdHRwUnVsZVIFcnVsZXMSRQofZnVsbHlfZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCFIcZnVsbHlEZWNvZGVSZXNlcnZlZEV4cGFuc2lvbiK1AgoISHR0cFJ1bGUSGgoIc2VsZWN0b3IYASABKAlSCHNlbGVjdG9yEhIKA2dldBgCIAEoCUgAUgNnZXQSEgoDcHV0GAMgASgJSABSA3B1dBIUCgRwb3N0GAQgASgJSABSBHBvc3QSGAoGZGVsZXRlGAUgASgJSABSBmRlbGV0ZRIWCgVwYXRjaBgGIAEoCUgAUgVwYXRjaBI3CgZjdXN0b20YCCABKAsyHS5nb29nbGUuYXBpLkN1c3RvbUh0dHBQYXR0ZXJuSABSBmN1c3RvbRISCgRib2R5GAcgASgJUgRib2R5EkUKE2FkZGl0aW9uYWxfYmluZGluZ3MYCyADKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUhJhZGRpdGlvbmFsQmluZGluZ3NCCQoHcGF0dGVybiI7ChFDdXN0b21IdHRwUGF0dGVybhISCgRraW5kGAEgASgJUgRraW5kEhIKBHBhdGgYAiABKAlSBHBhdGhCagoOY29tLmdvb2dsZS5hcGlCCUh0dHBQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc/gBAaICBEdBUEliBnByb3RvMwrhRgogZ29vZ2xlL3Byb3RvYnVmL2Rlc2NyaXB0b3IucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiJNChFGaWxlRGVzY3JpcHRvclNldBI4CgRmaWxlGAEgAygLMiQuZ29vZ2xlLnByb3RvYnVmLkZpbGVEZXNjcmlwdG9yUHJvdG9SBGZpbGUi/gQKE0ZpbGVEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgdwYWNrYWdlGAIgASgJUgdwYWNrYWdlEh4KCmRlcGVuZGVuY3kYAyADKAlSCmRlcGVuZGVuY3kSKwoRcHVibGljX2RlcGVuZGVuY3kYCiADKAVSEHB1YmxpY0RlcGVuZGVuY3kSJwoPd2Vha19kZXBlbmRlbmN5GAsgAygFUg53ZWFrRGVwZW5kZW5jeRJDCgxtZXNzYWdlX3R5cGUYBCADKAsyIC5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvUgttZXNzYWdlVHlwZRJBCgllbnVtX3R5cGUYBSADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSQQoHc2VydmljZRgGIAMoCzInLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlRGVzY3JpcHRvclByb3RvUgdzZXJ2aWNlEkMKCWV4dGVuc2lvbhgHIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEjYKB29wdGlvbnMYCCABKAsyHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnNSB29wdGlvbnMSSQoQc291cmNlX2NvZGVfaW5mbxgJIAEoCzIfLmdvb2dsZS5wcm90b2J1Zi5Tb3VyY2VDb2RlSW5mb1IOc291cmNlQ29kZUluZm8SFgoGc3ludGF4GAwgASgJUgZzeW50YXgSGAoHZWRpdGlvbhgNIAEoCVIHZWRpdGlvbiK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKtBAoVRXh0ZW5zaW9uUmFuZ2VPcHRpb25zElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uElkKC2RlY2xhcmF0aW9uGAIgAygLMjIuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9ucy5EZWNsYXJhdGlvbkIDiAECUgtkZWNsYXJhdGlvbhJoCgx2ZXJpZmljYXRpb24YAyABKA4yOC5nb29nbGUucHJvdG9idWYuRXh0ZW5zaW9uUmFuZ2VPcHRpb25zLlZlcmlmaWNhdGlvblN0YXRlOgpVTlZFUklGSUVEUgx2ZXJpZmljYXRpb24aswEKC0RlY2xhcmF0aW9uEhYKBm51bWJlchgBIAEoBVIGbnVtYmVyEhsKCWZ1bGxfbmFtZRgCIAEoCVIIZnVsbE5hbWUSEgoEdHlwZRgDIAEoCVIEdHlwZRIjCgtpc19yZXBlYXRlZBgEIAEoCEICGAFSCmlzUmVwZWF0ZWQSGgoIcmVzZXJ2ZWQYBSABKAhSCHJlc2VydmVkEhoKCHJlcGVhdGVkGAYgASgIUghyZXBlYXRlZCI0ChFWZXJpZmljYXRpb25TdGF0ZRIPCgtERUNMQVJBVElPThAAEg4KClVOVkVSSUZJRUQQASoJCOgHEICAgIACIsEGChRGaWVsZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgDIAEoBVIGbnVtYmVyEkEKBWxhYmVsGAQgASgOMisuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLkxhYmVsUgVsYWJlbBI+CgR0eXBlGAUgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGVSBHR5cGUSGwoJdHlwZV9uYW1lGAYgASgJUgh0eXBlTmFtZRIaCghleHRlbmRlZRgCIAEoCVIIZXh0ZW5kZWUSIwoNZGVmYXVsdF92YWx1ZRgHIAEoCVIMZGVmYXVsdFZhbHVlEh8KC29uZW9mX2luZGV4GAkgASgFUgpvbmVvZkluZGV4EhsKCWpzb25fbmFtZRgKIAEoCVIIanNvbk5hbWUSNwoHb3B0aW9ucxgIIAEoCzIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnNSB29wdGlvbnMSJwoPcHJvdG8zX29wdGlvbmFsGBEgASgIUg5wcm90bzNPcHRpb25hbCK2AgoEVHlwZRIPCgtUWVBFX0RPVUJMRRABEg4KClRZUEVfRkxPQVQQAhIOCgpUWVBFX0lOVDY0EAMSDwoLVFlQRV9VSU5UNjQQBBIOCgpUWVBFX0lOVDMyEAUSEAoMVFlQRV9GSVhFRDY0EAYSEAoMVFlQRV9GSVhFRDMyEAcSDQoJVFlQRV9CT09MEAgSDwoLVFlQRV9TVFJJTkcQCRIOCgpUWVBFX0dST1VQEAoSEAoMVFlQRV9NRVNTQUdFEAsSDgoKVFlQRV9CWVRFUxAMEg8KC1RZUEVfVUlOVDMyEA0SDQoJVFlQRV9FTlVNEA4SEQoNVFlQRV9TRklYRUQzMhAPEhEKDVRZUEVfU0ZJWEVENjQQEBIPCgtUWVBFX1NJTlQzMhAREg8KC1RZUEVfU0lOVDY0EBIiQwoFTGFiZWwSEgoOTEFCRUxfT1BUSU9OQUwQARISCg5MQUJFTF9SRVFVSVJFRBACEhIKDkxBQkVMX1JFUEVBVEVEEAMiYwoUT25lb2ZEZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRI3CgdvcHRpb25zGAIgASgLMh0uZ29vZ2xlLnByb3RvYnVmLk9uZW9mT3B0aW9uc1IHb3B0aW9ucyLjAgoTRW51bURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj8KBXZhbHVlGAIgAygLMikuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZURlc2NyaXB0b3JQcm90b1IFdmFsdWUSNgoHb3B0aW9ucxgDIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9uc1IHb3B0aW9ucxJdCg5yZXNlcnZlZF9yYW5nZRgEIAMoCzI2Lmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvLkVudW1SZXNlcnZlZFJhbmdlUg1yZXNlcnZlZFJhbmdlEiMKDXJlc2VydmVkX25hbWUYBSADKAlSDHJlc2VydmVkTmFtZRo7ChFFbnVtUmVzZXJ2ZWRSYW5nZRIUCgVzdGFydBgBIAEoBVIFc3RhcnQSEAoDZW5kGAIgASgFUgNlbmQigwEKGEVudW1WYWx1ZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEhYKBm51bWJlchgCIAEoBVIGbnVtYmVyEjsKB29wdGlvbnMYAyABKAsyIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlT3B0aW9uc1IHb3B0aW9ucyKnAQoWU2VydmljZURlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEj4KBm1ldGhvZBgCIAMoCzImLmdvb2dsZS5wcm90b2J1Zi5NZXRob2REZXNjcmlwdG9yUHJvdG9SBm1ldGhvZBI5CgdvcHRpb25zGAMgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zUgdvcHRpb25zIokCChVNZXRob2REZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIdCgppbnB1dF90eXBlGAIgASgJUglpbnB1dFR5cGUSHwoLb3V0cHV0X3R5cGUYAyABKAlSCm91dHB1dFR5cGUSOAoHb3B0aW9ucxgEIAEoCzIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zUgdvcHRpb25zEjAKEGNsaWVudF9zdHJlYW1pbmcYBSABKAg6BWZhbHNlUg9jbGllbnRTdHJlYW1pbmcSMAoQc2VydmVyX3N0cmVhbWluZxgGIAEoCDoFZmFsc2VSD3NlcnZlclN0cmVhbWluZyKRCQoLRmlsZU9wdGlvbnMSIQoMamF2YV9wYWNrYWdlGAEgASgJUgtqYXZhUGFja2FnZRIwChRqYXZhX291dGVyX2NsYXNzbmFtZRgIIAEoCVISamF2YU91dGVyQ2xhc3NuYW1lEjUKE2phdmFfbXVsdGlwbGVfZmlsZXMYCiABKAg6BWZhbHNlUhFqYXZhTXVsdGlwbGVGaWxlcxJECh1qYXZhX2dlbmVyYXRlX2VxdWFsc19hbmRfaGFzaBgUIAEoCEICGAFSGWphdmFHZW5lcmF0ZUVxdWFsc0FuZEhhc2gSOgoWamF2YV9zdHJpbmdfY2hlY2tfdXRmOBgbIAEoCDoFZmFsc2VSE2phdmFTdHJpbmdDaGVja1V0ZjgSUwoMb3B0aW1pemVfZm9yGAkgASgOMikuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zLk9wdGltaXplTW9kZToFU1BFRURSC29wdGltaXplRm9yEh0KCmdvX3BhY2thZ2UYCyABKAlSCWdvUGFja2FnZRI1ChNjY19nZW5lcmljX3NlcnZpY2VzGBAgASgIOgVmYWxzZVIRY2NHZW5lcmljU2VydmljZXMSOQoVamF2YV9nZW5lcmljX3NlcnZpY2VzGBEgASgIOgVmYWxzZVITamF2YUdlbmVyaWNTZXJ2aWNlcxI1ChNweV9nZW5lcmljX3NlcnZpY2VzGBIgASgIOgVmYWxzZVIRcHlHZW5lcmljU2VydmljZXMSNwoUcGhwX2dlbmVyaWNfc2VydmljZXMYKiABKAg6BWZhbHNlUhJwaHBHZW5lcmljU2VydmljZXMSJQoKZGVwcmVjYXRlZBgXIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSLgoQY2NfZW5hYmxlX2FyZW5hcxgfIAEoCDoEdHJ1ZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnIrsDCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYCyABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgEEAVKBAgFEAZKBAgGEAdKBAgIEAlKBAgJEAoihQkKDEZpZWxkT3B0aW9ucxJBCgVjdHlwZRgBIAEoDjIjLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuQ1R5cGU6BlNUUklOR1IFY3R5cGUSFgoGcGFja2VkGAIgASgIUgZwYWNrZWQSRwoGanN0eXBlGAYgASgOMiQuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5KU1R5cGU6CUpTX05PUk1BTFIGanN0eXBlEhkKBGxhenkYBSABKAg6BWZhbHNlUgRsYXp5Ei4KD3VudmVyaWZpZWRfbGF6eRgPIAEoCDoFZmFsc2VSDnVudmVyaWZpZWRMYXp5EiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhkKBHdlYWsYCiABKAg6BWZhbHNlUgR3ZWFrEigKDGRlYnVnX3JlZGFjdBgQIAEoCDoFZmFsc2VSC2RlYnVnUmVkYWN0EksKCXJldGVudGlvbhgRIAEoDjItLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMuT3B0aW9uUmV0ZW50aW9uUglyZXRlbnRpb24SSgoGdGFyZ2V0GBIgASgOMi4uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5PcHRpb25UYXJnZXRUeXBlQgIYAVIGdGFyZ2V0EkgKB3RhcmdldHMYEyADKA4yLi5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLk9wdGlvblRhcmdldFR5cGVSB3RhcmdldHMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAiJVCg9PcHRpb25SZXRlbnRpb24SFQoRUkVURU5USU9OX1VOS05PV04QABIVChFSRVRFTlRJT05fUlVOVElNRRABEhQKEFJFVEVOVElPTl9TT1VSQ0UQAiKMAgoQT3B0aW9uVGFyZ2V0VHlwZRIXChNUQVJHRVRfVFlQRV9VTktOT1dOEAASFAoQVEFSR0VUX1RZUEVfRklMRRABEh8KG1RBUkdFVF9UWVBFX0VYVEVOU0lPTl9SQU5HRRACEhcKE1RBUkdFVF9UWVBFX01FU1NBR0UQAxIVChFUQVJHRVRfVFlQRV9GSUVMRBAEEhUKEVRBUkdFVF9UWVBFX09ORU9GEAUSFAoQVEFSR0VUX1RZUEVfRU5VTRAGEhoKFlRBUkdFVF9UWVBFX0VOVU1fRU5UUlkQBxIXChNUQVJHRVRfVFlQRV9TRVJWSUNFEAgSFgoSVEFSR0VUX1RZUEVfTUVUSE9EEAkqCQjoBxCAgICAAkoECAQQBSJzCgxPbmVvZk9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYAgoLRW51bU9wdGlvbnMSHwoLYWxsb3dfYWxpYXMYAiABKAhSCmFsbG93QWxpYXMSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSVgomZGVwcmVjYXRlZF9sZWdhY3lfanNvbl9maWVsZF9jb25mbGljdHMYBiABKAhCAhgBUiJkZXByZWNhdGVkTGVnYWN5SnNvbkZpZWxkQ29uZmxpY3RzElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAJKBAgFEAYingEKEEVudW1WYWx1ZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBgBIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKcAQoOU2VydmljZU9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiLgAgoNTWV0aG9kT3B0aW9ucxIlCgpkZXByZWNhdGVkGCEgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJxChFpZGVtcG90ZW5jeV9sZXZlbBgiIAEoDjIvLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zLklkZW1wb3RlbmN5TGV2ZWw6E0lERU1QT1RFTkNZX1VOS05PV05SEGlkZW1wb3RlbmN5TGV2ZWwSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iUAoQSWRlbXBvdGVuY3lMZXZlbBIXChNJREVNUE9URU5DWV9VTktOT1dOEAASEwoPTk9fU0lERV9FRkZFQ1RTEAESDgoKSURFTVBPVEVOVBACKgkI6AcQgICAgAIimgMKE1VuaW50ZXJwcmV0ZWRPcHRpb24SQQoEbmFtZRgCIAMoCzItLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uLk5hbWVQYXJ0UgRuYW1lEikKEGlkZW50aWZpZXJfdmFsdWUYAyABKAlSD2lkZW50aWZpZXJWYWx1ZRIsChJwb3NpdGl2ZV9pbnRfdmFsdWUYBCABKARSEHBvc2l0aXZlSW50VmFsdWUSLAoSbmVnYXRpdmVfaW50X3ZhbHVlGAUgASgDUhBuZWdhdGl2ZUludFZhbHVlEiEKDGRvdWJsZV92YWx1ZRgGIAEoAVILZG91YmxlVmFsdWUSIQoMc3RyaW5nX3ZhbHVlGAcgASgMUgtzdHJpbmdWYWx1ZRInCg9hZ2dyZWdhdGVfdmFsdWUYCCABKAlSDmFnZ3JlZ2F0ZVZhbHVlGkoKCE5hbWVQYXJ0EhsKCW5hbWVfcGFydBgBIAIoCVIIbmFtZVBhcnQSIQoMaXNfZXh0ZW5zaW9uGAIgAigIUgtpc0V4dGVuc2lvbiKnAgoOU291cmNlQ29kZUluZm8SRAoIbG9jYXRpb24YASADKAsyKC5nb29nbGUucHJvdG9idWYuU291cmNlQ29kZUluZm8uTG9jYXRpb25SCGxvY2F0aW9uGs4BCghMb2NhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIWCgRzcGFuGAIgAygFQgIQAVIEc3BhbhIpChBsZWFkaW5nX2NvbW1lbnRzGAMgASgJUg9sZWFkaW5nQ29tbWVudHMSKwoRdHJhaWxpbmdfY29tbWVudHMYBCABKAlSEHRyYWlsaW5nQ29tbWVudHMSOgoZbGVhZGluZ19kZXRhY2hlZF9jb21tZW50cxgGIAMoCVIXbGVhZGluZ0RldGFjaGVkQ29tbWVudHMi0AIKEUdlbmVyYXRlZENvZGVJbmZvEk0KCmFubm90YXRpb24YASADKAsyLS5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvblIKYW5ub3RhdGlvbhrrAQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmQSUgoIc2VtYW50aWMYBSABKA4yNi5nb29nbGUucHJvdG9idWYuR2VuZXJhdGVkQ29kZUluZm8uQW5ub3RhdGlvbi5TZW1hbnRpY1IIc2VtYW50aWMiKAoIU2VtYW50aWMSCAoETk9ORRAAEgcKA1NFVBABEgkKBUFMSUFTEAJCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIQRGVzY3JpcHRvclByb3Rvc0gBWi1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9kZXNjcmlwdG9ycGL4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbgqoAgocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSWIGcHJvdG8zCugDCh9nb29nbGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvEgpnb29nbGUuYXBpGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90byq2AQoNRmllbGRCZWhhdmlvchIeChpGSUVMRF9CRUhBVklPUl9VTlNQRUNJRklFRBAAEgwKCE9QVElPTkFMEAESDAoIUkVRVUlSRUQQAhIPCgtPVVRQVVRfT05MWRADEg4KCklOUFVUX09OTFkQBBINCglJTU1VVEFCTEUQBRISCg5VTk9SREVSRURfTElTVBAGEhUKEU5PTl9FTVBUWV9ERUZBVUxUEAcSDgoKSURFTlRJRklFUhAIOmQKDmZpZWxkX2JlaGF2aW9yEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxicCCADKA4yGS5nb29nbGUuYXBpLkZpZWxkQmVoYXZpb3JCAhAAUg1maWVsZEJlaGF2aW9yQnAKDmNvbS5nb29nbGUuYXBpQhJGaWVsZEJlaGF2aW9yUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnOiAgRHQVBJYgZwcm90bzMK4gUKHGdvb2dsZS9wcm90b2J1Zi9zdHJ1Y3QucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiKYAQoGU3RydWN0EjsKBmZpZWxkcxgBIAMoCzIjLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QuRmllbGRzRW50cnlSBmZpZWxkcxpRCgtGaWVsZHNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIrICCgVWYWx1ZRI7CgpudWxsX3ZhbHVlGAEgASgOMhouZ29vZ2xlLnByb3RvYnVmLk51bGxWYWx1ZUgAUgludWxsVmFsdWUSIwoMbnVtYmVyX3ZhbHVlGAIgASgBSABSC251bWJlclZhbHVlEiMKDHN0cmluZ192YWx1ZRgDIAEoCUgAUgtzdHJpbmdWYWx1ZRIfCgpib29sX3ZhbHVlGAQgASgISABSCWJvb2xWYWx1ZRI8CgxzdHJ1Y3RfdmFsdWUYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SABSC3N0cnVjdFZhbHVlEjsKCmxpc3RfdmFsdWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuTGlzdFZhbHVlSABSCWxpc3RWYWx1ZUIGCgRraW5kIjsKCUxpc3RWYWx1ZRIuCgZ2YWx1ZXMYASADKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBnZhbHVlcyobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKpj4KLHByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvEilncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byKzCAoHU3dhZ2dlchIYCgdzd2FnZ2VyGAEgASgJUgdzd2FnZ2VyEkMKBGluZm8YAiABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5JbmZvUgRpbmZvEhIKBGhvc3QYAyABKAlSBGhvc3QSGwoJYmFzZV9wYXRoGAQgASgJUghiYXNlUGF0aBJLCgdzY2hlbWVzGAUgAygOMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1lUgdzY2hlbWVzEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSXwoJcmVzcG9uc2VzGAogAygLMkEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlci5SZXNwb25zZXNFbnRyeVIJcmVzcG9uc2VzEnEKFHNlY3VyaXR5X2RlZmluaXRpb25zGAsgASgLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9uc1ITc2VjdXJpdHlEZWZpbml0aW9ucxJaCghzZWN1cml0eRgMIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1lbnRSCHNlY3VyaXR5EkIKBHRhZ3MYDSADKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSBHRhZ3MSZQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzJALmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkV4dGVybmFsRG9jdW1lbnRhdGlvblIMZXh0ZXJuYWxEb2NzEmIKCmV4dGVuc2lvbnMYDyADKAsyQi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRyeVIKZXh0ZW5zaW9ucxpxCg5SZXNwb25zZXNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJJCgV2YWx1ZRgCIAEoCzIzLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlJlc3BvbnNlUgV2YWx1ZToCOAEaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAFKBAgIEAlKBAgJEAoi1gcKCU9wZXJhdGlvbhISCgR0YWdzGAEgAygJUgR0YWdzEhgKB3N1bW1hcnkYAiABKAlSB3N1bW1hcnkSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEmUKDWV4dGVybmFsX2RvY3MYBCABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIhCgxvcGVyYXRpb25faWQYBSABKAlSC29wZXJhdGlvbklkEhoKCGNvbnN1bWVzGAYgAygJUghjb25zdW1lcxIaCghwcm9kdWNlcxgHIAMoCVIIcHJvZHVjZXMSYQoJcmVzcG9uc2VzGAkgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuT3BlcmF0aW9uLlJlc3BvbnNlc0VudHJ5UglyZXNwb25zZXMSSwoHc2NoZW1lcxgKIAMoDjIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtZVIHc2NoZW1lcxIeCgpkZXByZWNhdGVkGAsgASgIUgpkZXByZWNhdGVkEloKCHNlY3VyaXR5GAwgAygLMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudFIIc2VjdXJpdHkSZAoKZXh0ZW5zaW9ucxgNIAMoCzJELmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvbi5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMSVQoKcGFyYW1ldGVycxgOIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlBhcmFtZXRlcnNSCnBhcmFtZXRlcnMacQoOUmVzcG9uc2VzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSSQoFdmFsdWUYAiABKAsyMy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZVIFdmFsdWU6AjgBGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBSgQICBAJImIKClBhcmFtZXRlcnMSVAoHaGVhZGVycxgBIAMoCzI6LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclBhcmFtZXRlclIHaGVhZGVycyKjAgoPSGVhZGVyUGFyYW1ldGVyEhIKBG5hbWUYASABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uElMKBHR5cGUYAyABKA4yPy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5IZWFkZXJQYXJhbWV0ZXIuVHlwZVIEdHlwZRIWCgZmb3JtYXQYBCABKAlSBmZvcm1hdBIaCghyZXF1aXJlZBgFIAEoCFIIcmVxdWlyZWQiRQoEVHlwZRILCgdVTktOT1dOEAASCgoGU1RSSU5HEAESCgoGTlVNQkVSEAISCwoHSU5URUdFUhADEgsKB0JPT0xFQU4QBEoECAYQB0oECAcQCCLYAQoGSGVhZGVyEiAKC2Rlc2NyaXB0aW9uGAEgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAIgASgJUgR0eXBlEhYKBmZvcm1hdBgDIAEoCVIGZm9ybWF0EhgKB2RlZmF1bHQYBiABKAlSB2RlZmF1bHQSGAoHcGF0dGVybhgNIAEoCVIHcGF0dGVybkoECAQQBUoECAUQBkoECAcQCEoECAgQCUoECAkQCkoECAoQC0oECAsQDEoECAwQDUoECA4QD0oECA8QEEoECBAQEUoECBEQEkoECBIQEyKaBQoIUmVzcG9uc2USIAoLZGVzY3JpcHRpb24YASABKAlSC2Rlc2NyaXB0aW9uEkkKBnNjaGVtYRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjaGVtYVIGc2NoZW1hEloKB2hlYWRlcnMYAyADKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5IZWFkZXJzRW50cnlSB2hlYWRlcnMSXQoIZXhhbXBsZXMYBCADKAsyQS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5SZXNwb25zZS5FeGFtcGxlc0VudHJ5UghleGFtcGxlcxJjCgpleHRlbnNpb25zGAUgAygLMkMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuUmVzcG9uc2UuRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGm0KDEhlYWRlcnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRJHCgV2YWx1ZRgCIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkhlYWRlclIFdmFsdWU6AjgBGjsKDUV4YW1wbGVzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASLWAwoESW5mbxIUCgV0aXRsZRgBIAEoCVIFdGl0bGUSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEigKEHRlcm1zX29mX3NlcnZpY2UYAyABKAlSDnRlcm1zT2ZTZXJ2aWNlEkwKB2NvbnRhY3QYBCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5Db250YWN0Ugdjb250YWN0EkwKB2xpY2Vuc2UYBSABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5MaWNlbnNlUgdsaWNlbnNlEhgKB3ZlcnNpb24YBiABKAlSB3ZlcnNpb24SXwoKZXh0ZW5zaW9ucxgHIAMoCzI/LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkluZm8uRXh0ZW5zaW9uc0VudHJ5UgpleHRlbnNpb25zGlUKD0V4dGVuc2lvbnNFbnRyeRIQCgNrZXkYASABKAlSA2tleRIsCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZVIFdmFsdWU6AjgBIkUKB0NvbnRhY3QSEgoEbmFtZRgBIAEoCVIEbmFtZRIQCgN1cmwYAiABKAlSA3VybBIUCgVlbWFpbBgDIAEoCVIFZW1haWwiLwoHTGljZW5zZRISCgRuYW1lGAEgASgJUgRuYW1lEhAKA3VybBgCIAEoCVIDdXJsIksKFUV4dGVybmFsRG9jdW1lbnRhdGlvbhIgCgtkZXNjcmlwdGlvbhgBIAEoCVILZGVzY3JpcHRpb24SEAoDdXJsGAIgASgJUgN1cmwiqgIKBlNjaGVtYRJWCgtqc29uX3NjaGVtYRgBIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSCmpzb25TY2hlbWESJAoNZGlzY3JpbWluYXRvchgCIAEoCVINZGlzY3JpbWluYXRvchIbCglyZWFkX29ubHkYAyABKAhSCHJlYWRPbmx5EmUKDWV4dGVybmFsX2RvY3MYBSABKAsyQC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25SDGV4dGVybmFsRG9jcxIYCgdleGFtcGxlGAYgASgJUgdleGFtcGxlSgQIBBAFItcKCgpKU09OU2NoZW1hEhAKA3JlZhgDIAEoCVIDcmVmEhQKBXRpdGxlGAUgASgJUgV0aXRsZRIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SGAoHZGVmYXVsdBgHIAEoCVIHZGVmYXVsdBIbCglyZWFkX29ubHkYCCABKAhSCHJlYWRPbmx5EhgKB2V4YW1wbGUYCSABKAlSB2V4YW1wbGUSHwoLbXVsdGlwbGVfb2YYCiABKAFSCm11bHRpcGxlT2YSGAoHbWF4aW11bRgLIAEoAVIHbWF4aW11bRIrChFleGNsdXNpdmVfbWF4aW11bRgMIAEoCFIQZXhjbHVzaXZlTWF4aW11bRIYCgdtaW5pbXVtGA0gASgBUgdtaW5pbXVtEisKEWV4Y2x1c2l2ZV9taW5pbXVtGA4gASgIUhBleGNsdXNpdmVNaW5pbXVtEh0KCm1heF9sZW5ndGgYDyABKARSCW1heExlbmd0aBIdCgptaW5fbGVuZ3RoGBAgASgEUgltaW5MZW5ndGgSGAoHcGF0dGVybhgRIAEoCVIHcGF0dGVybhIbCgltYXhfaXRlbXMYFCABKARSCG1heEl0ZW1zEhsKCW1pbl9pdGVtcxgVIAEoBFIIbWluSXRlbXMSIQoMdW5pcXVlX2l0ZW1zGBYgASgIUgt1bmlxdWVJdGVtcxIlCg5tYXhfcHJvcGVydGllcxgYIAEoBFINbWF4UHJvcGVydGllcxIlCg5taW5fcHJvcGVydGllcxgZIAEoBFINbWluUHJvcGVydGllcxIaCghyZXF1aXJlZBgaIAMoCVIIcmVxdWlyZWQSFAoFYXJyYXkYIiADKAlSBWFycmF5El8KBHR5cGUYIyADKA4ySy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5KU09OU2NoZW1hLkpTT05TY2hlbWFTaW1wbGVUeXBlc1IEdHlwZRIWCgZmb3JtYXQYJCABKAlSBmZvcm1hdBISCgRlbnVtGC4gAygJUgRlbnVtEnoKE2ZpZWxkX2NvbmZpZ3VyYXRpb24Y6QcgASgLMkguZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5GaWVsZENvbmZpZ3VyYXRpb25SEmZpZWxkQ29uZmlndXJhdGlvbhJlCgpleHRlbnNpb25zGDAgAygLMkUuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuSlNPTlNjaGVtYS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaPAoSRmllbGRDb25maWd1cmF0aW9uEiYKD3BhdGhfcGFyYW1fbmFtZRgvIAEoCVINcGF0aFBhcmFtTmFtZRpVCg9FeHRlbnNpb25zRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLAoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVSBXZhbHVlOgI4ASJ3ChVKU09OU2NoZW1hU2ltcGxlVHlwZXMSCwoHVU5LTk9XThAAEgkKBUFSUkFZEAESCwoHQk9PTEVBThACEgsKB0lOVEVHRVIQAxIICgROVUxMEAQSCgoGTlVNQkVSEAUSCgoGT0JKRUNUEAYSCgoGU1RSSU5HEAdKBAgBEAJKBAgCEANKBAgEEAVKBAgSEBNKBAgTEBRKBAgXEBhKBAgbEBxKBAgcEB1KBAgdEB5KBAgeECJKBAglECpKBAgqECtKBAgrEC4i2QIKA1RhZxISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhJlCg1leHRlcm5hbF9kb2NzGAMgASgLMkAuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuRXh0ZXJuYWxEb2N1bWVudGF0aW9uUgxleHRlcm5hbERvY3MSXgoKZXh0ZW5zaW9ucxgEIAMoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlRhZy5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEi9wEKE1NlY3VyaXR5RGVmaW5pdGlvbnMSaAoIc2VjdXJpdHkYASADKAsyTC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eURlZmluaXRpb25zLlNlY3VyaXR5RW50cnlSCHNlY3VyaXR5GnYKDVNlY3VyaXR5RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSTwoFdmFsdWUYAiABKAsyOS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZVIFdmFsdWU6AjgBIv8GCg5TZWN1cml0eVNjaGVtZRJSCgR0eXBlGAEgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuVHlwZVIEdHlwZRIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SEgoEbmFtZRgDIAEoCVIEbmFtZRJMCgJpbhgEIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNlY3VyaXR5U2NoZW1lLkluUgJpbhJSCgRmbG93GAUgASgOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2VjdXJpdHlTY2hlbWUuRmxvd1IEZmxvdxIrChFhdXRob3JpemF0aW9uX3VybBgGIAEoCVIQYXV0aG9yaXphdGlvblVybBIbCgl0b2tlbl91cmwYByABKAlSCHRva2VuVXJsEkkKBnNjb3BlcxgIIAEoCzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLlNjb3Blc1IGc2NvcGVzEmkKCmV4dGVuc2lvbnMYCSADKAsySS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5FeHRlbnNpb25zRW50cnlSCmV4dGVuc2lvbnMaVQoPRXh0ZW5zaW9uc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5EiwKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlUgV2YWx1ZToCOAEiSwoEVHlwZRIQCgxUWVBFX0lOVkFMSUQQABIOCgpUWVBFX0JBU0lDEAESEAoMVFlQRV9BUElfS0VZEAISDwoLVFlQRV9PQVVUSDIQAyIxCgJJbhIOCgpJTl9JTlZBTElEEAASDAoISU5fUVVFUlkQARINCglJTl9IRUFERVIQAiJqCgRGbG93EhAKDEZMT1dfSU5WQUxJRBAAEhEKDUZMT1dfSU1QTElDSVQQARIRCg1GTE9XX1BBU1NXT1JEEAISFAoQRkxPV19BUFBMSUNBVElPThADEhQKEEZMT1dfQUNDRVNTX0NPREUQBCL2AgoTU2VjdXJpdHlSZXF1aXJlbWVudBKKAQoUc2VjdXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRFbnRyeVITc2VjdXJpdHlSZXF1aXJlbWVudBowChhTZWN1cml0eVJlcXVpcmVtZW50VmFsdWUSFAoFc2NvcGUYASADKAlSBXNjb3BlGp8BChhTZWN1cml0eVJlcXVpcmVtZW50RW50cnkSEAoDa2V5GAEgASgJUgNrZXkSbQoFdmFsdWUYAiABKAsyVy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TZWN1cml0eVJlcXVpcmVtZW50LlNlY3VyaXR5UmVxdWlyZW1lbnRWYWx1ZVIFdmFsdWU6AjgBIpYBCgZTY29wZXMSUgoFc2NvcGUYASADKAsyPC5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5TY29wZXMuU2NvcGVFbnRyeVIFc2NvcGUaOAoKU2NvcGVFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBKjsKBlNjaGVtZRILCgdVTktOT1dOEAASCAoESFRUUBABEgkKBUhUVFBTEAISBgoCV1MQAxIHCgNXU1MQBEJIWkZnaXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS92Mi9wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zYgZwcm90bzMK/QYKLnByb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnMvYW5ub3RhdGlvbnMucHJvdG8SKWdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoscHJvdG9jLWdlbi1vcGVuYXBpdjIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG86fgoRb3BlbmFwaXYyX3N3YWdnZXISHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYkgggASgLMjIuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU3dhZ2dlclIQb3BlbmFwaXYyU3dhZ2dlcjqGAQoTb3BlbmFwaXYyX29wZXJhdGlvbhIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGJIIIAEoCzI0LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLk9wZXJhdGlvblISb3BlbmFwaXYyT3BlcmF0aW9uOn4KEG9wZW5hcGl2Ml9zY2hlbWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMjEuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fb3BlbmFwaXYyLm9wdGlvbnMuU2NoZW1hUg9vcGVuYXBpdjJTY2hlbWE6dQoNb3BlbmFwaXYyX3RhZxIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxiSCCABKAsyLi5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9vcGVuYXBpdjIub3B0aW9ucy5UYWdSDG9wZW5hcGl2MlRhZzp+Cg9vcGVuYXBpdjJfZmllbGQSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGJIIIAEoCzI1LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX29wZW5hcGl2Mi5vcHRpb25zLkpTT05TY2hlbWFSDm9wZW5hcGl2MkZpZWxkQkhaRmdpdGh1Yi5jb20vZ3JwYy1lY29zeXN0ZW0vZ3JwYy1nYXRld2F5L3YyL3Byb3RvYy1nZW4tb3BlbmFwaXYyL29wdGlvbnNiBnByb3RvMwqSAQoZcHJvdG8vY29tbW9uL3N0cmluZy5wcm90bxIQYnVja2V0ZWVyLmNvbW1vbiIpCg9TdHJpbmdMaXN0VmFsdWUSFgoGdmFsdWVzGAEgAygJUgZ2YWx1ZXNCMFouZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2NvbW1vbmIGcHJvdG8zCsAEChVwcm90by91c2VyL3VzZXIucHJvdG8SDmJ1Y2tldGVlci51c2VyIt4DCgRVc2VyEg4KAmlkGAEgASgJUgJpZBIyCgRkYXRhGAIgAygLMh4uYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhRW50cnlSBGRhdGESRQoLdGFnZ2VkX2RhdGEYAyADKAsyJC5idWNrZXRlZXIudXNlci5Vc2VyLlRhZ2dlZERhdGFFbnRyeVIKdGFnZ2VkRGF0YRIbCglsYXN0X3NlZW4YBCABKANSCGxhc3RTZWVuEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBp8CgREYXRhEjoKBXZhbHVlGAEgAygLMiQuYnVja2V0ZWVyLnVzZXIuVXNlci5EYXRhLlZhbHVlRW50cnlSBXZhbHVlGjgKClZhbHVlRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARo3CglEYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlOgI4ARpYCg9UYWdnZWREYXRhRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSLwoFdmFsdWUYAiABKAsyGS5idWNrZXRlZXIudXNlci5Vc2VyLkRhdGFSBXZhbHVlOgI4AUIuWixnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vdXNlcmIGcHJvdG8zCsiYAQobcHJvdG8vZmVhdHVyZS9zZXJ2aWNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZRocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxofZ29vZ2xlL2FwaS9maWVsZF9iZWhhdmlvci5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGi5wcm90b2MtZ2VuLW9wZW5hcGl2Mi9vcHRpb25zL2Fubm90YXRpb25zLnByb3RvGhlwcm90by9jb21tb24vc3RyaW5nLnByb3RvGhtwcm90by9mZWF0dXJlL2NvbW1hbmQucHJvdG8aG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxoecHJvdG8vZmVhdHVyZS9ldmFsdWF0aW9uLnByb3RvGhVwcm90by91c2VyL3VzZXIucHJvdG8aG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGiBwcm90by9mZWF0dXJlL3ByZXJlcXVpc2l0ZS5wcm90bxoYcHJvdG8vZmVhdHVyZS9ydWxlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhpwcm90by9mZWF0dXJlL3RhcmdldC5wcm90byJQChFHZXRGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYAyABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiSgoSR2V0RmVhdHVyZVJlc3BvbnNlEjQKB2ZlYXR1cmUYASABKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUgdmZWF0dXJlIlMKEkdldEZlYXR1cmVzUmVxdWVzdBIQCgNpZHMYAiADKAlSA2lkcxIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJNChNHZXRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMi9QUKE0xpc3RGZWF0dXJlc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchISCgR0YWdzGAMgAygJUgR0YWdzEkkKCG9yZGVyX2J5GAQgASgOMi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5El4KD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI1LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEh4KCm1haW50YWluZXIYByABKAlSCm1haW50YWluZXISNAoHZW5hYmxlZBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSQQoOaGFzX2V4cGVyaW1lbnQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1oYXNFeHBlcmltZW50EiUKDnNlYXJjaF9rZXl3b3JkGAogASgJUg1zZWFyY2hLZXl3b3JkEjYKCGFyY2hpdmVkGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZVIIYXJjaGl2ZWQSRwoRaGFzX3ByZXJlcXVpc2l0ZXMYDCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUhBoYXNQcmVyZXF1aXNpdGVzEiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkIlcKB09yZGVyQnkSCwoHREVGQVVMVBAAEggKBE5BTUUQARIOCgpDUkVBVEVEX0FUEAISDgoKVVBEQVRFRF9BVBADEggKBFRBR1MQBBILCgdFTkFCTEVEEAUiIwoOT3JkZXJEaXJlY3Rpb24SBwoDQVNDEAASCAoEREVTQxABSgQIBhAHIocBChRMaXN0RmVhdHVyZXNSZXNwb25zZRI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEh8KC3RvdGFsX2NvdW50GAMgASgDUgp0b3RhbENvdW50IpIBChpMaXN0RW5hYmxlZEZlYXR1cmVzUmVxdWVzdBIbCglwYWdlX3NpemUYASABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgCIAEoCVIGY3Vyc29yEhIKBHRhZ3MYAyADKAlSBHRhZ3MSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUibQobTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3IihgEKFENyZWF0ZUZlYXR1cmVSZXF1ZXN0EkEKB2NvbW1hbmQYASABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJNChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUi0AYKFFVwZGF0ZUZlYXR1cmVSZXF1ZXN0EhgKB2NvbW1lbnQYASABKAlSB2NvbW1lbnQSKgoOZW52aXJvbm1lbnRfaWQYAiABKAlCA+BBAlINZW52aXJvbm1lbnRJZBITCgJpZBgDIAEoCUID4EECUgJpZBIwCgRuYW1lGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbhI1CgR0YWdzGAYgASgLMiEuYnVja2V0ZWVyLmNvbW1vbi5TdHJpbmdMaXN0VmFsdWVSBHRhZ3MSNAoHZW5hYmxlZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVSB2VuYWJsZWQSNgoIYXJjaGl2ZWQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghhcmNoaXZlZBJFCgp2YXJpYXRpb25zGAkgASgLMiUuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uTGlzdFZhbHVlUgp2YXJpYXRpb25zEk4KDXByZXJlcXVpc2l0ZXMYCiABKAsyKC5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVMaXN0VmFsdWVSDXByZXJlcXVpc2l0ZXMSPAoHdGFyZ2V0cxgLIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldExpc3RWYWx1ZVIHdGFyZ2V0cxI2CgVydWxlcxgMIAEoCzIgLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVMaXN0VmFsdWVSBXJ1bGVzEkYKEGRlZmF1bHRfc3RyYXRlZ3kYDSABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIPZGVmYXVsdFN0cmF0ZWd5EkEKDW9mZl92YXJpYXRpb24YDiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSDG9mZlZhcmlhdGlvbhIuChNyZXNldF9zYW1wbGluZ19zZWVkGA8gASgIUhFyZXNldFNhbXBsaW5nU2VlZCJNChVVcGRhdGVGZWF0dXJlUmVzcG9uc2USNAoHZmVhdHVyZRgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSB2ZlYXR1cmUisAEKFEVuYWJsZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVFbmFibGVGZWF0dXJlUmVzcG9uc2UisgEKFURpc2FibGVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkRpc2FibGVGZWF0dXJlUmVzcG9uc2UisgEKFUFyY2hpdmVGZWF0dXJlUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFyY2hpdmVGZWF0dXJlQ29tbWFuZFIHY29tbWFuZBIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhgKFkFyY2hpdmVGZWF0dXJlUmVzcG9uc2UitgEKF1VuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJECgdjb21tYW5kGAIgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIaChhVbmFyY2hpdmVGZWF0dXJlUmVzcG9uc2UisAEKFERlbGV0ZUZlYXR1cmVSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJBCgdjb21tYW5kGAIgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZUNvbW1hbmRSB2NvbW1hbmQSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIXChVEZWxldGVGZWF0dXJlUmVzcG9uc2Ui3wMKG1VwZGF0ZUZlYXR1cmVEZXRhaWxzUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSXQoWcmVuYW1lX2ZlYXR1cmVfY29tbWFuZBgCIAEoCzInLmJ1Y2tldGVlci5mZWF0dXJlLlJlbmFtZUZlYXR1cmVDb21tYW5kUhRyZW5hbWVGZWF0dXJlQ29tbWFuZBJpChpjaGFuZ2VfZGVzY3JpcHRpb25fY29tbWFuZBgDIAEoCzIrLmJ1Y2tldGVlci5mZWF0dXJlLkNoYW5nZURlc2NyaXB0aW9uQ29tbWFuZFIYY2hhbmdlRGVzY3JpcHRpb25Db21tYW5kEkoKEGFkZF90YWdfY29tbWFuZHMYBCADKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5BZGRUYWdDb21tYW5kUg5hZGRUYWdDb21tYW5kcxJTChNyZW1vdmVfdGFnX2NvbW1hbmRzGAUgAygLMiMuYnVja2V0ZWVyLmZlYXR1cmUuUmVtb3ZlVGFnQ29tbWFuZFIRcmVtb3ZlVGFnQ29tbWFuZHMSGAoHY29tbWVudBgHIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgIIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByIeChxVcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIq8BCh5VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1JlcXVlc3QSDgoCaWQYASABKAlSAmlkEjYKCGNvbW1hbmRzGAIgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuQ29tbWFuZFIIY29tbWFuZHMSGAoHY29tbWVudBgEIAEoCVIHY29tbWVudBIlCg5lbnZpcm9ubWVudF9pZBgFIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIhCh9VcGRhdGVGZWF0dXJlVmFyaWF0aW9uc1Jlc3BvbnNlIqECCh1VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSNgoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kUghjb21tYW5kcxIYCgdjb21tZW50GAQgASgJUgdjb21tZW50EkkKBGZyb20YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdC5Gcm9tUgRmcm9tEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkIiYKBEZyb20SCwoHVU5LTk9XThAAEggKBFVTRVIQARIHCgNPUFMQAkoECAMQBCIgCh5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVzcG9uc2UilAEKE0Nsb25lRmVhdHVyZVJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkAKB2NvbW1hbmQYAiABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVDb21tYW5kUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIhYKFENsb25lRmVhdHVyZVJlc3BvbnNlItkBChRDcmVhdGVTZWdtZW50UmVxdWVzdBJUCgdjb21tYW5kGAEgASgLMicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudENvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEhcKBG5hbWUYAyABKAlCA+BBAlIEbmFtZRIqCg5lbnZpcm9ubWVudF9pZBgEIAEoCUID4EECUg1lbnZpcm9ubWVudElkEiAKC2Rlc2NyaXB0aW9uGAUgASgJUgtkZXNjcmlwdGlvbkoECAIQAyJNChVDcmVhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiWgoRR2V0U2VnbWVudFJlcXVlc3QSEwoCaWQYASABKAlCA+BBAlICaWQSKgoOZW52aXJvbm1lbnRfaWQYAyABKAlCA+BBAlINZW52aXJvbm1lbnRJZEoECAIQAyJKChJHZXRTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQiywQKE0xpc3RTZWdtZW50c1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJJCghvcmRlcl9ieRgEIAEoDjIuLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QuT3JkZXJCeVIHb3JkZXJCeRJeCg9vcmRlcl9kaXJlY3Rpb24YBSABKA4yNS5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIzCgZzdGF0dXMYByABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIGc3RhdHVzEkMKEGlzX2luX3VzZV9zdGF0dXMYCCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUg1pc0luVXNlU3RhdHVzEioKDmVudmlyb25tZW50X2lkGAkgASgJQgPgQQJSDWVudmlyb25tZW50SWQiXAoHT3JkZXJCeRILCgdERUZBVUxUEAASCAoETkFNRRABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSDwoLQ09OTkVDVElPTlMQBBIJCgVVU0VSUxAFIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAMQBCKHAQoUTGlzdFNlZ21lbnRzUmVzcG9uc2USNgoIc2VnbWVudHMYASADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50UghzZWdtZW50cxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudCKpAQoURGVsZXRlU2VnbWVudFJlcXVlc3QSDgoCaWQYASABKAlSAmlkElQKB2NvbW1hbmQYAiABKAsyJy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50Q29tbWFuZEIRGAGSQQwyCmRlcHJlY2F0ZWRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiFwoVRGVsZXRlU2VnbWVudFJlc3BvbnNlIpUCChRVcGRhdGVTZWdtZW50UmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSSQoIY29tbWFuZHMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5Db21tYW5kQhEYAZJBDDIKZGVwcmVjYXRlZFIIY29tbWFuZHMSKgoOZW52aXJvbm1lbnRfaWQYBCABKAlCA+BBAlINZW52aXJvbm1lbnRJZBIwCgRuYW1lGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEj4KC2Rlc2NyaXB0aW9uGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgtkZXNjcmlwdGlvbkoECAMQBCJNChVVcGRhdGVTZWdtZW50UmVzcG9uc2USNAoHc2VnbWVudBgBIAEoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRSB3NlZ21lbnQimAEKFUFkZFNlZ21lbnRVc2VyUmVxdWVzdBIOCgJpZBgBIAEoCVICaWQSQgoHY29tbWFuZBgCIAEoCzIoLmJ1Y2tldGVlci5mZWF0dXJlLkFkZFNlZ21lbnRVc2VyQ29tbWFuZFIHY29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCIYChZBZGRTZWdtZW50VXNlclJlc3BvbnNlIp4BChhEZWxldGVTZWdtZW50VXNlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEkUKB2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlckNvbW1hbmRSB2NvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiGwoZRGVsZXRlU2VnbWVudFVzZXJSZXNwb25zZSK4AQoVR2V0U2VnbWVudFVzZXJSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgd1c2VyX2lkGAIgASgJUgZ1c2VySWQSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgEEAUiTAoWR2V0U2VnbWVudFVzZXJSZXNwb25zZRIyCgR1c2VyGAEgASgLMh4uYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXJSBHVzZXIi5gEKF0xpc3RTZWdtZW50VXNlcnNSZXF1ZXN0EhsKCXBhZ2Vfc2l6ZRgBIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHQoKc2VnbWVudF9pZBgDIAEoCVIJc2VnbWVudElkEjEKBXN0YXRlGAQgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSBXN0YXRlEhcKB3VzZXJfaWQYBSABKAlSBnVzZXJJZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZEoECAYQByJoChhMaXN0U2VnbWVudFVzZXJzUmVzcG9uc2USNAoFdXNlcnMYASADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3Ii0AIKHUJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0Eh0KCnNlZ21lbnRfaWQYAiABKAlSCXNlZ21lbnRJZBJdCgdjb21tYW5kGAMgASgLMjAuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc0NvbW1hbmRCERgBkkEMMgpkZXByZWNhdGVkUgdjb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkEkgKBGRhdGEYBSABKAxCNJJBMTIvc2VnbWVudCB1c2VyIGlkcyBzZXBhcmF0ZWQgYnkgY29tbWEgb3IgbmV3IGxpbmVSBGRhdGESOgoFc3RhdGUYBiABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGVKBAgBEAIiIAoeQnVsa1VwbG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIrMBCh9CdWxrRG93bmxvYWRTZWdtZW50VXNlcnNSZXF1ZXN0EiIKCnNlZ21lbnRfaWQYAiABKAlCA+BBAlIJc2VnbWVudElkEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEioKDmVudmlyb25tZW50X2lkGAQgASgJQgPgQQJSDWVudmlyb25tZW50SWRKBAgBEAIiNgogQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVzcG9uc2USEgoEZGF0YRgBIAEoDFIEZGF0YSKhAQoXRXZhbHVhdGVGZWF0dXJlc1JlcXVlc3QSKAoEdXNlchgBIAEoCzIULmJ1Y2tldGVlci51c2VyLlVzZXJSBHVzZXISEAoDdGFnGAMgASgJUgN0YWcSHQoKZmVhdHVyZV9pZBgEIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAUgASgJUg1lbnZpcm9ubWVudElkSgQIAhADImkKGEV2YWx1YXRlRmVhdHVyZXNSZXNwb25zZRJNChB1c2VyX2V2YWx1YXRpb25zGAEgASgLMiIuYnVja2V0ZWVyLmZlYXR1cmUuVXNlckV2YWx1YXRpb25zUg91c2VyRXZhbHVhdGlvbnMirAMKD0xpc3RUYWdzUmVxdWVzdBIbCglwYWdlX3NpemUYAiABKANSCHBhZ2VTaXplEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEkUKCG9yZGVyX2J5GAQgASgOMiouYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSWgoPb3JkZXJfZGlyZWN0aW9uGAUgASgOMjEuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFRhZ3NSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgGIAEoCVINc2VhcmNoS2V5d29yZBIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCJICgdPcmRlckJ5EgsKB0RFRkFVTFQQABIGCgJJRBABEg4KCkNSRUFURURfQVQQAhIOCgpVUERBVEVEX0FUEAMSCAoETkFNRRAEIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAEQAiJ3ChBMaXN0VGFnc1Jlc3BvbnNlEioKBHRhZ3MYASADKAsyFi5idWNrZXRlZXIuZmVhdHVyZS5UYWdSBHRhZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQiswEKGENyZWF0ZUZsYWdUcmlnZ2VyUmVxdWVzdBJqChtjcmVhdGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAiABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlckNvbW1hbmRSGGNyZWF0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAEQAiJwChlDcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCLDAQoYRGVsZXRlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtkZWxldGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlckNvbW1hbmRSGGRlbGV0ZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlEZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIuYBChhVcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEowBCidjaGFuZ2VfZmxhZ190cmlnZ2VyX2Rlc2NyaXB0aW9uX2NvbW1hbmQYAyABKAsyNi5idWNrZXRlZXIuZmVhdHVyZS5DaGFuZ2VGbGFnVHJpZ2dlckRlc2NyaXB0aW9uQ29tbWFuZFIjY2hhbmdlRmxhZ1RyaWdnZXJEZXNjcmlwdGlvbkNvbW1hbmQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgCEAMiGwoZVXBkYXRlRmxhZ1RyaWdnZXJSZXNwb25zZSLDAQoYRW5hYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJqChtlbmFibGVfZmxhZ190cmlnZ2VyX2NvbW1hbmQYAyABKAsyKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlckNvbW1hbmRSGGVuYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIbChlFbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIscBChlEaXNhYmxlRmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBJtChxkaXNhYmxlX2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZFIZZGlzYWJsZUZsYWdUcmlnZ2VyQ29tbWFuZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyIcChpEaXNhYmxlRmxhZ1RyaWdnZXJSZXNwb25zZSK/AQoXUmVzZXRGbGFnVHJpZ2dlclJlcXVlc3QSDgoCaWQYASABKAlSAmlkEmcKGnJlc2V0X2ZsYWdfdHJpZ2dlcl9jb21tYW5kGAMgASgLMiouYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlckNvbW1hbmRSF3Jlc2V0RmxhZ1RyaWdnZXJDb21tYW5kEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAhADIm8KGFJlc2V0RmxhZ1RyaWdnZXJSZXNwb25zZRJBCgxmbGFnX3RyaWdnZXIYASABKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlclILZmxhZ1RyaWdnZXISEAoDdXJsGAIgASgJUgN1cmwiVAoVR2V0RmxhZ1RyaWdnZXJSZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIlCg5lbnZpcm9ubWVudF9pZBgDIAEoCVINZW52aXJvbm1lbnRJZEoECAIQAyJtChZHZXRGbGFnVHJpZ2dlclJlc3BvbnNlEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCKqAwoXTGlzdEZsYWdUcmlnZ2Vyc1JlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhYKBmN1cnNvchgDIAEoCVIGY3Vyc29yEhsKCXBhZ2Vfc2l6ZRgEIAEoBVIIcGFnZVNpemUSTQoIb3JkZXJfYnkYBSABKA4yMi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmIKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI5LmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5lbnZpcm9ubWVudF9pZBgHIAEoCVINZW52aXJvbm1lbnRJZCI2CgdPcmRlckJ5EgsKB0RFRkFVTFQQABIOCgpDUkVBVEVEX0FUEAESDgoKVVBEQVRFRF9BVBACIiMKDk9yZGVyRGlyZWN0aW9uEgcKA0FTQxAAEggKBERFU0MQAUoECAIQAyKjAgoYTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlEmMKDWZsYWdfdHJpZ2dlcnMYASADKAsyPi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0RmxhZ1RyaWdnZXJzUmVzcG9uc2UuRmxhZ1RyaWdnZXJXaXRoVXJsUgxmbGFnVHJpZ2dlcnMSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQaaQoSRmxhZ1RyaWdnZXJXaXRoVXJsEkEKDGZsYWdfdHJpZ2dlchgBIAEoCzIeLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyUgtmbGFnVHJpZ2dlchIQCgN1cmwYAiABKAlSA3VybCIxChlGbGFnVHJpZ2dlcldlYmhvb2tSZXF1ZXN0EhQKBXRva2VuGAEgASgJUgV0b2tlbiIcChpGbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZTKaOQoORmVhdHVyZVNlcnZpY2USWwoKR2V0RmVhdHVyZRIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldEZlYXR1cmVSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0RmVhdHVyZVJlc3BvbnNlIgASXgoLR2V0RmVhdHVyZXMSJS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1JlcXVlc3QaJi5idWNrZXRlZXIuZmVhdHVyZS5HZXRGZWF0dXJlc1Jlc3BvbnNlIgASYQoMTGlzdEZlYXR1cmVzEiYuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZlYXR1cmVzUmVxdWVzdBonLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIgASdgoTTGlzdEVuYWJsZWRGZWF0dXJlcxItLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RFbmFibGVkRmVhdHVyZXNSZXF1ZXN0Gi4uYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEVuYWJsZWRGZWF0dXJlc1Jlc3BvbnNlIgASZAoNQ3JlYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkNyZWF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlIgASZAoNVXBkYXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIgASZwoNRW5hYmxlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkVuYWJsZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRW5hYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESagoORGlzYWJsZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5EaXNhYmxlRmVhdHVyZVJlc3BvbnNlIgOIAgESZwoOQXJjaGl2ZUZlYXR1cmUSKC5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASbQoQVW5hcmNoaXZlRmVhdHVyZRIqLmJ1Y2tldGVlci5mZWF0dXJlLlVuYXJjaGl2ZUZlYXR1cmVSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuVW5hcmNoaXZlRmVhdHVyZVJlc3BvbnNlIgASZAoNRGVsZXRlRmVhdHVyZRInLmJ1Y2tldGVlci5mZWF0dXJlLkRlbGV0ZUZlYXR1cmVSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlRmVhdHVyZVJlc3BvbnNlIgASeQoUVXBkYXRlRmVhdHVyZURldGFpbHMSLi5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1JlcXVlc3QaLy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlRGV0YWlsc1Jlc3BvbnNlIgASggEKF1VwZGF0ZUZlYXR1cmVWYXJpYXRpb25zEjEuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXF1ZXN0GjIuYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlRmVhdHVyZVZhcmlhdGlvbnNSZXNwb25zZSIAEn8KFlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmcSMC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGZWF0dXJlVGFyZ2V0aW5nUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZUZlYXR1cmVUYXJnZXRpbmdSZXNwb25zZSIAEmEKDENsb25lRmVhdHVyZRImLmJ1Y2tldGVlci5mZWF0dXJlLkNsb25lRmVhdHVyZVJlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5DbG9uZUZlYXR1cmVSZXNwb25zZSIAEqYECg1DcmVhdGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuQ3JlYXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVTZWdtZW50UmVzcG9uc2UiwQOSQacDCgdzZWdtZW50EgZDcmVhdGUaEUNyZWF0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5jcmVhdGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIQIgsvdjEvc2VnbWVudDoBKhKRBAoKR2V0U2VnbWVudBIkLmJ1Y2tldGVlci5mZWF0dXJlLkdldFNlZ21lbnRSZXF1ZXN0GiUuYnVja2V0ZWVyLmZlYXR1cmUuR2V0U2VnbWVudFJlc3BvbnNlIrUDkkGeAwoHc2VnbWVudBIDR2V0Gg5HZXQgYSBzZWdtZW50LioSd2ViLnYxLnNlZ21lbnQuZ2V0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDRILL3YxL3NlZ21lbnQSmgQKDExpc3RTZWdtZW50cxImLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50c1JlcXVlc3QaJy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0U2VnbWVudHNSZXNwb25zZSK4A5JBoAMKB3NlZ21lbnQSBExpc3QaDkxpc3Qgc2VnbWVudHMuKhN3ZWIudjEuc2VnbWVudC5saXN0SrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCDhIML3YxL3NlZ21lbnRzEqMECg1EZWxldGVTZWdtZW50EicuYnVja2V0ZWVyLmZlYXR1cmUuRGVsZXRlU2VnbWVudFJlcXVlc3QaKC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50UmVzcG9uc2UivgOSQacDCgdzZWdtZW50EgZEZWxldGUaEURlbGV0ZSBhIHNlZ21lbnQuKhV3ZWIudjEuc2VnbWVudC5kZWxldGVKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwINKgsvdjEvc2VnbWVudBKmBAoNVXBkYXRlU2VnbWVudBInLmJ1Y2tldGVlci5mZWF0dXJlLlVwZGF0ZVNlZ21lbnRSZXF1ZXN0GiguYnVja2V0ZWVyLmZlYXR1cmUuVXBkYXRlU2VnbWVudFJlc3BvbnNlIsEDkkGnAwoHc2VnbWVudBIGVXBkYXRlGhFVcGRhdGUgYSBzZWdtZW50LioVd2ViLnYxLnNlZ21lbnQudXBkYXRlSrQBCgM0MDASrAEKOlJldHVybmVkIGZvciBiYWQgcmVxdWVzdHMgdGhhdCBtYXkgaGF2ZSBmYWlsZWQgdmFsaWRhdGlvbi4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiVgoQYXBwbGljYXRpb24vanNvbhJCeyAiY29kZSI6IDMsICJtZXNzYWdlIjogImludmFsaWQgYXJndW1lbnRzIGVycm9yIiwgImRldGFpbHMiOiBbXSB9SrIBCgM0MDESqgEKPVJlcXVlc3QgY291bGQgbm90IGJlIGF1dGhlbnRpY2F0ZWQgKGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVkKS4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXMiUQoQYXBwbGljYXRpb24vanNvbhI9eyAiY29kZSI6IDE2LCAibWVzc2FnZSI6ICJub3QgYXV0aGVudGljYXRlZCIsICJkZXRhaWxzIjogW10gfYLT5JMCEDILL3YxL3NlZ21lbnQ6ASoSagoOQWRkU2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5BZGRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgEScwoRRGVsZXRlU2VnbWVudFVzZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESagoOR2V0U2VnbWVudFVzZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRTZWdtZW50VXNlclJlc3BvbnNlIgOIAgESbQoQTGlzdFNlZ21lbnRVc2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RTZWdtZW50VXNlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIgAS7AQKFkJ1bGtVcGxvYWRTZWdtZW50VXNlcnMSMC5idWNrZXRlZXIuZmVhdHVyZS5CdWxrVXBsb2FkU2VnbWVudFVzZXJzUmVxdWVzdBoxLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtVcGxvYWRTZWdtZW50VXNlcnNSZXNwb25zZSLsA5JBwAMKB3NlZ21lbnQSC0J1bGsgdXBsb2FkGhpCdWxrIHVwbG9hZCBzZWdtZW50IHVzZXJzLiogd2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa191cGxvYWRKtAEKAzQwMBKsAQo6UmV0dXJuZWQgZm9yIGJhZCByZXF1ZXN0cyB0aGF0IG1heSBoYXZlIGZhaWxlZCB2YWxpZGF0aW9uLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJWChBhcHBsaWNhdGlvbi9qc29uEkJ7ICJjb2RlIjogMywgIm1lc3NhZ2UiOiAiaW52YWxpZCBhcmd1bWVudHMgZXJyb3IiLCAiZGV0YWlscyI6IFtdIH1KsgEKAzQwMRKqAQo9UmVxdWVzdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZCAoYXV0aGVudGljYXRpb24gcmVxdWlyZWQpLhIWChQaEi5nb29nbGUucnBjLlN0YXR1cyJRChBhcHBsaWNhdGlvbi9qc29uEj17ICJjb2RlIjogMTYsICJtZXNzYWdlIjogIm5vdCBhdXRoZW50aWNhdGVkIiwgImRldGFpbHMiOiBbXSB9gtPkkwIiIh0vdjEvc2VnbWVudF91c2Vycy9idWxrX3VwbG9hZDoBKhL3BAoYQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzEjIuYnVja2V0ZWVyLmZlYXR1cmUuQnVsa0Rvd25sb2FkU2VnbWVudFVzZXJzUmVxdWVzdBozLmJ1Y2tldGVlci5mZWF0dXJlLkJ1bGtEb3dubG9hZFNlZ21lbnRVc2Vyc1Jlc3BvbnNlIvEDkkHGAwoHc2VnbWVudBINQnVsayBkb3dubG9hZBocQnVsayBkb3dubG9hZCBzZWdtZW50IHVzZXJzLioid2ViLnYxLnNlZ21lbnRfdXNlcnMuYnVsa19kb3dubG9hZEq0AQoDNDAwEqwBCjpSZXR1cm5lZCBmb3IgYmFkIHJlcXVlc3RzIHRoYXQgbWF5IGhhdmUgZmFpbGVkIHZhbGlkYXRpb24uEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlYKEGFwcGxpY2F0aW9uL2pzb24SQnsgImNvZGUiOiAzLCAibWVzc2FnZSI6ICJpbnZhbGlkIGFyZ3VtZW50cyBlcnJvciIsICJkZXRhaWxzIjogW10gfUqyAQoDNDAxEqoBCj1SZXF1ZXN0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkIChhdXRoZW50aWNhdGlvbiByZXF1aXJlZCkuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzIlEKEGFwcGxpY2F0aW9uL2pzb24SPXsgImNvZGUiOiAxNiwgIm1lc3NhZ2UiOiAibm90IGF1dGhlbnRpY2F0ZWQiLCAiZGV0YWlscyI6IFtdIH2C0+STAiESHy92MS9zZWdtZW50X3VzZXJzL2J1bGtfZG93bmxvYWQSbQoQRXZhbHVhdGVGZWF0dXJlcxIqLmJ1Y2tldGVlci5mZWF0dXJlLkV2YWx1YXRlRmVhdHVyZXNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuRXZhbHVhdGVGZWF0dXJlc1Jlc3BvbnNlIgASVQoITGlzdFRhZ3MSIi5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1JlcXVlc3QaIy5idWNrZXRlZXIuZmVhdHVyZS5MaXN0VGFnc1Jlc3BvbnNlIgAScAoRQ3JlYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5DcmVhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRVXBkYXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5VcGRhdGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRW5hYmxlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5FbmFibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgAScwoSRGlzYWJsZUZsYWdUcmlnZ2VyEiwuYnVja2V0ZWVyLmZlYXR1cmUuRGlzYWJsZUZsYWdUcmlnZ2VyUmVxdWVzdBotLmJ1Y2tldGVlci5mZWF0dXJlLkRpc2FibGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQUmVzZXRGbGFnVHJpZ2dlchIqLmJ1Y2tldGVlci5mZWF0dXJlLlJlc2V0RmxhZ1RyaWdnZXJSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuUmVzZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgAScAoRRGVsZXRlRmxhZ1RyaWdnZXISKy5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlcXVlc3QaLC5idWNrZXRlZXIuZmVhdHVyZS5EZWxldGVGbGFnVHJpZ2dlclJlc3BvbnNlIgASZwoOR2V0RmxhZ1RyaWdnZXISKC5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlcXVlc3QaKS5idWNrZXRlZXIuZmVhdHVyZS5HZXRGbGFnVHJpZ2dlclJlc3BvbnNlIgASbQoQTGlzdEZsYWdUcmlnZ2VycxIqLmJ1Y2tldGVlci5mZWF0dXJlLkxpc3RGbGFnVHJpZ2dlcnNSZXF1ZXN0GisuYnVja2V0ZWVyLmZlYXR1cmUuTGlzdEZsYWdUcmlnZ2Vyc1Jlc3BvbnNlIgASlAEKEkZsYWdUcmlnZ2VyV2ViaG9vaxIsLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyV2ViaG9va1JlcXVlc3QaLS5idWNrZXRlZXIuZmVhdHVyZS5GbGFnVHJpZ2dlcldlYmhvb2tSZXNwb25zZSIhgtPkkwIbIhkvd2ViaG9vay90cmlnZ2Vycy97dG9rZW59QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzM= 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+CghvcGVyYXRvchgDIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3ISFgoGdmFsdWVzGAQgAygJUgZ2YWx1ZXMiyQEKCE9wZXJhdG9yEgoKBkVRVUFMUxAAEgYKAklOEAESDQoJRU5EU19XSVRIEAISDwoLU1RBUlRTX1dJVEgQAxILCgdTRUdNRU5UEAQSCwoHR1JFQVRFUhAFEhQKEEdSRUFURVJfT1JfRVFVQUwQBhIICgRMRVNTEAcSEQoNTEVTU19PUl9FUVVBTBAIEgoKBkJFRk9SRRAJEgkKBUFGVEVSEAoSEAoMRkVBVFVSRV9GTEFHEAsSEwoPUEFSVElBTExZX01BVENIEAxCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK6wIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzIkAKDVJ1bGVMaXN0VmFsdWUSLwoGdmFsdWVzGAEgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK7gEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzIkQKD1RhcmdldExpc3RWYWx1ZRIxCgZ2YWx1ZXMYASADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSBnZhbHVlc0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCqICCh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiZwoJVmFyaWF0aW9uEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24iSgoSVmFyaWF0aW9uTGlzdFZhbHVlEjQKBnZhbHVlcxgBIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK9AIKKnByb3RvL2ZlYXR1cmUvZmVhdHVyZV9sYXN0X3VzZWRfaW5mby5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi9wEKE0ZlYXR1cmVMYXN0VXNlZEluZm8SHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhgKB3ZlcnNpb24YAiABKAVSB3ZlcnNpb24SIAoMbGFzdF91c2VkX2F0GAMgASgDUgpsYXN0VXNlZEF0Eh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIyChVjbGllbnRfb2xkZXN0X3ZlcnNpb24YBSABKAlSE2NsaWVudE9sZGVzdFZlcnNpb24SMgoVY2xpZW50X2xhdGVzdF92ZXJzaW9uGAYgASgJUhNjbGllbnRMYXRlc3RWZXJzaW9uQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKlAIKIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJQCgxQcmVyZXF1aXNpdGUSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiUAoVUHJlcmVxdWlzaXRlTGlzdFZhbHVlEjcKBnZhbHVlcxgBIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKswwKG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvItIHCgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQiPgoNVmFyaWF0aW9uVHlwZRIKCgZTVFJJTkcQABILCgdCT09MRUFOEAESCgoGTlVNQkVSEAISCAoESlNPThADIlIKCEZlYXR1cmVzEjYKCGZlYXR1cmVzGAEgAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMSDgoCaWQYAiABKAlSAmlkInMKEkVudmlyb25tZW50RmVhdHVyZRIlCg5lbnZpcm9ubWVudF9pZBgBIAEoCVINZW52aXJvbm1lbnRJZBI2CghmZWF0dXJlcxgCIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzImcKA1RhZxIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAQgASgJUgRuYW1lQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5wMKI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQi6QIKDUVudmlyb25tZW50VjISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBInCg9vcmdhbml6YXRpb25faWQYCSABKAlSDm9yZ2FuaXphdGlvbklkEicKD3JlcXVpcmVfY29tbWVudBgKIAEoCFIOcmVxdWlyZUNvbW1lbnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAsgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCpADCiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50IukBCgxTZWFyY2hGaWx0ZXISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSFAoFcXVlcnkYAyABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBiABKAhSDWRlZmF1bHRGaWx0ZXIqMQoQRmlsdGVyVGFyZ2V0VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrUEwobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8aH3Byb3RvL2Vudmlyb25tZW50L3Byb2plY3QucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvIqsCCgdBY2NvdW50Eg4KAmlkGAEgASgJUgJpZBIUCgVlbWFpbBgCIAEoCVIFZW1haWwSEgoEbmFtZRgDIAEoCVIEbmFtZRIzCgRyb2xlGAQgASgOMh8uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudC5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCCABKAhSB2RlbGV0ZWQiOQoEUm9sZRIKCgZWSUVXRVIQABIKCgZFRElUT1IQARIJCgVPV05FUhACEg4KClVOQVNTSUdORUQQYzoCGAEivAgKCUFjY291bnRWMhIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBInCg9vcmdhbml6YXRpb25faWQYBCABKAlSDm9yZ2FuaXphdGlvbklkElsKEW9yZ2FuaXphdGlvbl9yb2xlGAUgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIaCghkaXNhYmxlZBgHIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBJGCg5zZWFyY2hfZmlsdGVycxgKIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAsgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAwgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgNIAEoCVIIbGFuZ3VhZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhIoChBhdmF0YXJfZmlsZV90eXBlGA8gASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYECABKAxSC2F2YXRhckltYWdlEisKEWVudmlyb25tZW50X2NvdW50GBEgASgFUhBlbnZpcm9ubWVudENvdW50EhIKBHRhZ3MYEiADKAlSBHRhZ3Ma1wEKBFJvbGUiWQoLRW52aXJvbm1lbnQSGgoWRW52aXJvbm1lbnRfVU5BU1NJR05FRBAAEhYKEkVudmlyb25tZW50X1ZJRVdFUhABEhYKEkVudmlyb25tZW50X0VESVRPUhACInQKDE9yZ2FuaXphdGlvbhIbChdPcmdhbml6YXRpb25fVU5BU1NJR05FRBAAEhcKE09yZ2FuaXphdGlvbl9NRU1CRVIQARIWChJPcmdhbml6YXRpb25fQURNSU4QAhIWChJPcmdhbml6YXRpb25fT1dORVIQAxp7Cg9FbnZpcm9ubWVudFJvbGUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSQQoEcm9sZRgCIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLkVudmlyb25tZW50UgRyb2xlIuoGCg5Db25zb2xlQWNjb3VudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgphdmF0YXJfdXJsGAMgASgJUglhdmF0YXJVcmwSJgoPaXNfc3lzdGVtX2FkbWluGAQgASgIUg1pc1N5c3RlbUFkbWluEkcKDG9yZ2FuaXphdGlvbhgFIAEoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDG9yZ2FuaXphdGlvbhJbChFvcmdhbml6YXRpb25fcm9sZRgGIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJeChFlbnZpcm9ubWVudF9yb2xlcxgHIAMoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNvbnNvbGVBY2NvdW50LkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxJGCg5zZWFyY2hfZmlsdGVycxgIIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAkgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAogASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgLIAEoCVIIbGFuZ3VhZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgMIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGA0gASgMUgthdmF0YXJJbWFnZRIbCglsYXN0X3NlZW4YDiABKANSCGxhc3RTZWVuGtYBCg9FbnZpcm9ubWVudFJvbGUSRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSOAoHcHJvamVjdBgCIAEoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ugdwcm9qZWN0EkEKBHJvbGUYAyABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZUIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCuYGChtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50GiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90byK7AwoGQVBJS2V5Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEjIKBHJvbGUYAyABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEhcKB2FwaV9rZXkYCCABKAlSBmFwaUtleRIgCgtkZXNjcmlwdGlvbhgJIAEoCVILZGVzY3JpcHRpb24SKQoQZW52aXJvbm1lbnRfbmFtZRgKIAEoCVIPZW52aXJvbm1lbnROYW1lInkKBFJvbGUSCwoHVU5LTk9XThAAEg4KClNES19DTElFTlQQARIOCgpTREtfU0VSVkVSEAISGAoUUFVCTElDX0FQSV9SRUFEX09OTFkQAxIUChBQVUJMSUNfQVBJX1dSSVRFEAQSFAoQUFVCTElDX0FQSV9BRE1JThAFIpUCChFFbnZpcm9ubWVudEFQSUtleRIyCgdhcGlfa2V5GAIgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXkSMQoUZW52aXJvbm1lbnRfZGlzYWJsZWQYAyABKAhSE2Vudmlyb25tZW50RGlzYWJsZWQSIQoKcHJvamVjdF9pZBgEIAEoCUICGAFSCXByb2plY3RJZBJGCgtlbnZpcm9ubWVudBgFIAEoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgtlbnZpcm9ubWVudBIoChBwcm9qZWN0X3VybF9jb2RlGAYgASgJUg5wcm9qZWN0VXJsQ29kZUoECAEQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCpoLChpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmF1dG9vcHMaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8ihgEKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSLAoGY2xhdXNlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY2xhdXNlEj4KC2FjdGlvbl90eXBlGAMgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSLfAgoST3BzRXZlbnRSYXRlQ2xhdXNlEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQSFwoHZ29hbF9pZBgDIAEoCVIGZ29hbElkEhsKCW1pbl9jb3VudBgEIAEoA1IIbWluQ291bnQSKQoQdGhyZWFkc2hvbGRfcmF0ZRgFIAEoAVIPdGhyZWFkc2hvbGRSYXRlEkoKCG9wZXJhdG9yGAYgASgOMi4uYnVja2V0ZWVyLmF1dG9vcHMuT3BzRXZlbnRSYXRlQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchI+CgthY3Rpb25fdHlwZRgHIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUiMwoIT3BlcmF0b3ISFAoQR1JFQVRFUl9PUl9FUVVBTBAAEhEKDUxFU1NfT1JfRVFVQUwQAUoECAEQAiJkCg5EYXRldGltZUNsYXVzZRISCgR0aW1lGAEgASgDUgR0aW1lEj4KC2FjdGlvbl90eXBlGAIgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSKXAQoaUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGUSHwoLc2NoZWR1bGVfaWQYASABKAlSCnNjaGVkdWxlSWQSHQoKZXhlY3V0ZV9hdBgCIAEoA1IJZXhlY3V0ZUF0EhYKBndlaWdodBgDIAEoBVIGd2VpZ2h0EiEKDHRyaWdnZXJlZF9hdBgEIAEoA1ILdHJpZ2dlcmVkQXQimAEKJlByb2dyZXNzaXZlUm9sbG91dE1hbnVhbFNjaGVkdWxlQ2xhdXNlEksKCXNjaGVkdWxlcxgBIAMoCzItLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlUglzY2hlZHVsZXMSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZCLYAgooUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZRJLCglzY2hlZHVsZXMYASADKAsyLS5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXRTY2hlZHVsZVIJc2NoZWR1bGVzEmAKCGludGVydmFsGAIgASgOMkQuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZS5JbnRlcnZhbFIIaW50ZXJ2YWwSHgoKaW5jcmVtZW50cxgDIAEoA1IKaW5jcmVtZW50cxIhCgx2YXJpYXRpb25faWQYBCABKAlSC3ZhcmlhdGlvbklkIjoKCEludGVydmFsEgsKB1VOS05PV04QABIKCgZIT1VSTFkQARIJCgVEQUlMWRACEgoKBldFRUtMWRADKjIKCkFjdGlvblR5cGUSCwoHVU5LTk9XThAAEgoKBkVOQUJMRRABEgsKB0RJU0FCTEUQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCuAFCiFwcm90by9hdXRvb3BzL2F1dG9fb3BzX3J1bGUucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90byLzAgoLQXV0b09wc1J1bGUSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI1CghvcHNfdHlwZRgDIAEoDjIaLmJ1Y2tldGVlci5hdXRvb3BzLk9wc1R5cGVSB29wc1R5cGUSMwoHY2xhdXNlcxgEIAMoCzIZLmJ1Y2tldGVlci5hdXRvb3BzLkNsYXVzZVIHY2xhdXNlcxIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCSABKAhSB2RlbGV0ZWQSSAoPYXV0b19vcHNfc3RhdHVzGAogASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1INYXV0b09wc1N0YXR1cxIhCgxmZWF0dXJlX25hbWUYCyABKAlSC2ZlYXR1cmVOYW1lSgQIBhAHIlQKDEF1dG9PcHNSdWxlcxJECg5hdXRvX29wc19ydWxlcxgBIAMoCzIeLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNSdWxlUgxhdXRvT3BzUnVsZXMqPwoHT3BzVHlwZRIQCgxUWVBFX1VOS05PV04QABIMCghTQ0hFRFVMRRACEg4KCkVWRU5UX1JBVEUQAyIECAEQASpECg1BdXRvT3BzU3RhdHVzEgsKB1dBSVRJTkcQABILCgdSVU5OSU5HEAESDAoIRklOSVNIRUQQAhILCgdTVE9QUEVEEANCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1dG9vcHNiBnByb3RvMwrwAwoicHJvdG8vbm90aWZpY2F0aW9uL3JlY2lwaWVudC5wcm90bxIWYnVja2V0ZWVyLm5vdGlmaWNhdGlvbiK3AgoJUmVjaXBpZW50EjoKBHR5cGUYASABKA4yJi5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudC5UeXBlUgR0eXBlEmUKF3NsYWNrX2NoYW5uZWxfcmVjaXBpZW50GAIgASgLMi0uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TbGFja0NoYW5uZWxSZWNpcGllbnRSFXNsYWNrQ2hhbm5lbFJlY2lwaWVudBJGCghsYW5ndWFnZRgDIAEoDjIqLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uUmVjaXBpZW50Lkxhbmd1YWdlUghsYW5ndWFnZSIYCgRUeXBlEhAKDFNsYWNrQ2hhbm5lbBAAIiUKCExhbmd1YWdlEgsKB0VOR0xJU0gQABIMCghKQVBBTkVTRRABIjgKFVNsYWNrQ2hhbm5lbFJlY2lwaWVudBIfCgt3ZWJob29rX3VybBgBIAEoCVIKd2ViaG9va1VybEI2WjRnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vbm90aWZpY2F0aW9uYgZwcm90bzMKqwkKJXByb3RvL25vdGlmaWNhdGlvbi9zdWJzY3JpcHRpb24ucHJvdG8SFmJ1Y2tldGVlci5ub3RpZmljYXRpb24aInByb3RvL25vdGlmaWNhdGlvbi9yZWNpcGllbnQucHJvdG8ihQgKDFN1YnNjcmlwdGlvbhIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSUgoMc291cmNlX3R5cGVzGAUgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSPwoJcmVjaXBpZW50GAYgASgLMiEuYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnRSCXJlY2lwaWVudBISCgRuYW1lGAcgASgJUgRuYW1lEiUKDmVudmlyb25tZW50X2lkGAggASgJUg1lbnZpcm9ubWVudElkEikKEGVudmlyb25tZW50X25hbWUYCSABKAlSD2Vudmlyb25tZW50TmFtZRIqChFmZWF0dXJlX2ZsYWdfdGFncxgKIAMoCVIPZmVhdHVyZUZsYWdUYWdzIuMECgpTb3VyY2VUeXBlEhgKFERPTUFJTl9FVkVOVF9GRUFUVVJFEAASFQoRRE9NQUlOX0VWRU5UX0dPQUwQARIbChdET01BSU5fRVZFTlRfRVhQRVJJTUVOVBACEhgKFERPTUFJTl9FVkVOVF9BQ0NPVU5UEAMSFwoTRE9NQUlOX0VWRU5UX0FQSUtFWRAEEhgKFERPTUFJTl9FVkVOVF9TRUdNRU5UEAUSHAoYRE9NQUlOX0VWRU5UX0VOVklST05NRU5UEAYSHgoaRE9NQUlOX0VWRU5UX0FETUlOX0FDQ09VTlQQBxIdChlET01BSU5fRVZFTlRfQVVUT09QU19SVUxFEAgSFQoRRE9NQUlOX0VWRU5UX1BVU0gQCRIdChlET01BSU5fRVZFTlRfU1VCU0NSSVBUSU9OEAoSIwofRE9NQUlOX0VWRU5UX0FETUlOX1NVQlNDUklQVElPThALEhgKFERPTUFJTl9FVkVOVF9QUk9KRUNUEAwSGAoURE9NQUlOX0VWRU5UX1dFQkhPT0sQDRIkCiBET01BSU5fRVZFTlRfUFJPR1JFU1NJVkVfUk9MTE9VVBAOEh0KGURPTUFJTl9FVkVOVF9PUkdBTklaQVRJT04QDxIdChlET01BSU5fRVZFTlRfRkxBR19UUklHR0VSEBASFAoQRE9NQUlOX0VWRU5UX1RBRxAREhgKFERPTUFJTl9FVkVOVF9DT0RFUkVGEBISEQoNRkVBVFVSRV9TVEFMRRBkEhcKEkVYUEVSSU1FTlRfUlVOTklORxDIARIOCglNQVVfQ09VTlQQrAJCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL25vdGlmaWNhdGlvbmIGcHJvdG8zCvcFCidwcm90by9hdXRvb3BzL3Byb2dyZXNzaXZlX3JvbGxvdXQucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvIuIEChJQcm9ncmVzc2l2ZVJvbGxvdXQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USRAoGc3RhdHVzGAQgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSPgoEdHlwZRgHIAEoDjIqLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5UeXBlUgR0eXBlEk4KCnN0b3BwZWRfYnkYCCABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0IjIKBFR5cGUSEwoPTUFOVUFMX1NDSEVEVUxFEAASFQoRVEVNUExBVEVfU0NIRURVTEUQASI9CgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARIMCghGSU5JU0hFRBACEgsKB1NUT1BQRUQQAyJJCglTdG9wcGVkQnkSCwoHVU5LTk9XThAAEggKBFVTRVIQARIQCgxPUFNfU0NIRURVTEUQAhITCg9PUFNfS0lMTF9TV0lUQ0gQA0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCqAFCiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUirQQKC0ZsYWdUcmlnZ2VyEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEiMKDXRyaWdnZXJfY291bnQYByABKAVSDHRyaWdnZXJDb3VudBIqChFsYXN0X3RyaWdnZXJlZF9hdBgIIAEoA1IPbGFzdFRyaWdnZXJlZEF0EhQKBXRva2VuGAkgASgJUgV0b2tlbhIaCghkaXNhYmxlZBgKIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgLIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYDCABKANSCXVwZGF0ZWRBdBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCIqCgRUeXBlEhAKDFR5cGVfVU5LTk9XThAAEhAKDFR5cGVfV0VCSE9PSxABIjsKBkFjdGlvbhISCg5BY3Rpb25fVU5LTk9XThAAEg0KCUFjdGlvbl9PThABEg4KCkFjdGlvbl9PRkYQAkoECAMQBEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvYDChNwcm90by90YWcvdGFnLnByb3RvEg1idWNrZXRlZXIudGFnIrcCCgNUYWcSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBCABKANSCXVwZGF0ZWRBdBI+CgtlbnRpdHlfdHlwZRgFIAEoDjIdLmJ1Y2tldGVlci50YWcuVGFnLkVudGl0eVR5cGVSCmVudGl0eVR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWQSKQoQZW52aXJvbm1lbnRfbmFtZRgHIAEoCVIPZW52aXJvbm1lbnROYW1lIjwKCkVudGl0eVR5cGUSDwoLVU5TUEVDSUZJRUQQABIQCgxGRUFUVVJFX0ZMQUcQARILCgdBQ0NPVU5UEAIiXwoORW52aXJvbm1lbnRUYWcSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSJgoEdGFncxgCIAMoCzISLmJ1Y2tldGVlci50YWcuVGFnUgR0YWdzQi1aK2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by90YWdiBnByb3RvMwq3CAohcHJvdG8vZXhwZXJpbWVudC9leHBlcmltZW50LnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudBodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8iywYKCkV4cGVyaW1lbnQSDgoCaWQYASABKAlSAmlkEhsKB2dvYWxfaWQYAiABKAlCAhgBUgZnb2FsSWQSHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgEIAEoBVIOZmVhdHVyZVZlcnNpb24SPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIZCghzdGFydF9hdBgGIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAcgASgDUgZzdG9wQXQSHAoHc3RvcHBlZBgIIAEoCEICGAFSB3N0b3BwZWQSIQoKc3RvcHBlZF9hdBgJIAEoA0ICMAFSCXN0b3BwZWRBdBIdCgpjcmVhdGVkX2F0GAogASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgLIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYDCABKAhSB2RlbGV0ZWQSGQoIZ29hbF9pZHMYDSADKAlSB2dvYWxJZHMSEgoEbmFtZRgOIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgPIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYECABKAlSD2Jhc2VWYXJpYXRpb25JZBI/CgZzdGF0dXMYEiABKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IGc3RhdHVzEh4KCm1haW50YWluZXIYEyABKAlSCm1haW50YWluZXISGgoIYXJjaGl2ZWQYFCABKAhSCGFyY2hpdmVkEkQKBWdvYWxzGBUgAygLMi4uYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5Hb2FsUmVmZXJlbmNlUgVnb2FscxozCg1Hb2FsUmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIkIKBlN0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAhIRCg1GT1JDRV9TVE9QUEVEEANKBAgREBIiUQoLRXhwZXJpbWVudHMSQgoLZXhwZXJpbWVudHMYASADKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgtleHBlcmltZW50c0I0WjJnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXhwZXJpbWVudGIGcHJvdG8zCtIIChtwcm90by9leHBlcmltZW50L2dvYWwucHJvdG8SFGJ1Y2tldGVlci5leHBlcmltZW50GiFwcm90by9leHBlcmltZW50L2V4cGVyaW1lbnQucHJvdG8aIXByb3RvL2F1dG9vcHMvYXV0b19vcHNfcnVsZS5wcm90byKYBwoER29hbBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGAoHZGVsZXRlZBgEIAEoCFIHZGVsZXRlZBIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0EicKEGlzX2luX3VzZV9zdGF0dXMYByABKAhSDWlzSW5Vc2VTdGF0dXMSGgoIYXJjaGl2ZWQYCCABKAhSCGFyY2hpdmVkElIKD2Nvbm5lY3Rpb25fdHlwZRgJIAEoDjIpLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWwuQ29ubmVjdGlvblR5cGVSDmNvbm5lY3Rpb25UeXBlElAKC2V4cGVyaW1lbnRzGAogAygLMi4uYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5FeHBlcmltZW50UmVmZXJlbmNlUgtleHBlcmltZW50cxJVCg5hdXRvX29wc19ydWxlcxgLIAMoCzIvLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWwuQXV0b09wc1J1bGVSZWZlcmVuY2VSDGF1dG9PcHNSdWxlcxq8AQoTRXhwZXJpbWVudFJlZmVyZW5jZRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpmZWF0dXJlX2lkGAMgASgJUglmZWF0dXJlSWQSIQoMZmVhdHVyZV9uYW1lGAQgASgJUgtmZWF0dXJlTmFtZRI/CgZzdGF0dXMYBSABKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IGc3RhdHVzGrIBChRBdXRvT3BzUnVsZVJlZmVyZW5jZRIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEiEKDGZlYXR1cmVfbmFtZRgDIAEoCVILZmVhdHVyZU5hbWUSSAoPYXV0b19vcHNfc3RhdHVzGAQgASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1INYXV0b09wc1N0YXR1cyI8Cg5Db25uZWN0aW9uVHlwZRILCgdVTktOT1dOEAASDgoKRVhQRVJJTUVOVBABEg0KCU9QRVJBVElPThACQjRaMmdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9leHBlcmltZW50YgZwcm90bzMK/QYKInByb3RvL2NvZGVyZWYvY29kZV9yZWZlcmVuY2UucHJvdG8SEWJ1Y2tldGVlci5jb2RlcmVmIogGCg1Db2RlUmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSGwoJZmlsZV9wYXRoGAMgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgEIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBSABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgGIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZBIdCgpjcmVhdGVkX2F0GA4gASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgPIAEoA1IJdXBkYXRlZEF0Eh0KCnNvdXJjZV91cmwYECABKAlSCXNvdXJjZVVybBIdCgpicmFuY2hfdXJsGBEgASgJUglicmFuY2hVcmwSJQoOZmlsZV9leHRlbnNpb24YEiABKAlSDWZpbGVFeHRlbnNpb24iZAoOUmVwb3NpdG9yeVR5cGUSHwobUkVQT1NJVE9SWV9UWVBFX1VOU1BFQ0lGSUVEEAASCgoGR0lUSFVCEAESCgoGR0lUTEFCEAISDQoJQklUQlVDS0VUEAMSCgoGQ1VTVE9NEARCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2NvZGVyZWZiBnByb3RvMwr52gEKHnByb3RvL2V2ZW50L2RvbWFpbi9ldmVudC5wcm90bxIWYnVja2V0ZWVyLmV2ZW50LmRvbWFpbhoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvGhtwcm90by9hY2NvdW50L2FjY291bnQucHJvdG8aG3Byb3RvL2FjY291bnQvYXBpX2tleS5wcm90bxohcHJvdG8vYXV0b29wcy9hdXRvX29wc19ydWxlLnByb3RvGhpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90bxolcHJvdG8vbm90aWZpY2F0aW9uL3N1YnNjcmlwdGlvbi5wcm90bxoicHJvdG8vbm90aWZpY2F0aW9uL3JlY2lwaWVudC5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aJ3Byb3RvL2F1dG9vcHMvcHJvZ3Jlc3NpdmVfcm9sbG91dC5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90bxoTcHJvdG8vdGFnL3RhZy5wcm90bxobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvGiFwcm90by9leHBlcmltZW50L2V4cGVyaW1lbnQucHJvdG8aInByb3RvL2NvZGVyZWYvY29kZV9yZWZlcmVuY2UucHJvdG8ivDAKBUV2ZW50Eg4KAmlkGAEgASgJUgJpZBIcCgl0aW1lc3RhbXAYAiABKANSCXRpbWVzdGFtcBJJCgtlbnRpdHlfdHlwZRgDIAEoDjIoLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRXZlbnQuRW50aXR5VHlwZVIKZW50aXR5VHlwZRIbCgllbnRpdHlfaWQYBCABKAlSCGVudGl0eUlkEjYKBHR5cGUYBSABKA4yIi5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LlR5cGVSBHR5cGUSNgoGZWRpdG9yGAYgASgLMh4uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FZGl0b3JSBmVkaXRvchIoCgRkYXRhGAcgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIEZGF0YRIkCg5pc19hZG1pbl9ldmVudBgJIAEoCFIMaXNBZG1pbkV2ZW50EjkKB29wdGlvbnMYCiABKAsyHy5idWNrZXRlZXIuZXZlbnQuZG9tYWluLk9wdGlvbnNSB29wdGlvbnMSHwoLZW50aXR5X2RhdGEYCyABKAlSCmVudGl0eURhdGESMAoUcHJldmlvdXNfZW50aXR5X2RhdGEYDCABKAlSEnByZXZpb3VzRW50aXR5RGF0YRIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCKpAgoKRW50aXR5VHlwZRILCgdGRUFUVVJFEAASCAoER09BTBABEg4KCkVYUEVSSU1FTlQQAhILCgdBQ0NPVU5UEAMSCgoGQVBJS0VZEAQSCwoHU0VHTUVOVBAFEg8KC0VOVklST05NRU5UEAYSEQoNQURNSU5fQUNDT1VOVBAHEhAKDEFVVE9PUFNfUlVMRRAIEggKBFBVU0gQCRIQCgxTVUJTQ1JJUFRJT04QChIWChJBRE1JTl9TVUJTQ1JJUFRJT04QCxILCgdQUk9KRUNUEAwSFwoTUFJPR1JFU1NJVkVfUk9MTE9VVBAOEhAKDE9SR0FOSVpBVElPThAPEhAKDEZMQUdfVFJJR0dFUhAQEgcKA1RBRxAREgsKB0NPREVSRUYQEiIECA0QDSL1KQoEVHlwZRILCgdVTktOT1dOEAASEwoPRkVBVFVSRV9DUkVBVEVEEAESEwoPRkVBVFVSRV9SRU5BTUVEEAISEwoPRkVBVFVSRV9FTkFCTEVEEAMSFAoQRkVBVFVSRV9ESVNBQkxFRBAEEhMKD0ZFQVRVUkVfREVMRVRFRBAFEh8KG0ZFQVRVUkVfREVTQ1JJUFRJT05fQ0hBTkdFRBAIEhsKF0ZFQVRVUkVfVkFSSUFUSU9OX0FEREVEEAkSHQoZRkVBVFVSRV9WQVJJQVRJT05fUkVNT1ZFRBAKEiEKHUZFQVRVUkVfT0ZGX1ZBUklBVElPTl9DSEFOR0VEEAsSGwoXVkFSSUFUSU9OX1ZBTFVFX0NIQU5HRUQQDBIaChZWQVJJQVRJT05fTkFNRV9DSEFOR0VEEA0SIQodVkFSSUFUSU9OX0RFU0NSSVBUSU9OX0NIQU5HRUQQDhIYChRWQVJJQVRJT05fVVNFUl9BRERFRBAPEhoKFlZBUklBVElPTl9VU0VSX1JFTU9WRUQQEBIWChJGRUFUVVJFX1JVTEVfQURERUQQERIhCh1GRUFUVVJFX1JVTEVfU1RSQVRFR1lfQ0hBTkdFRBASEhgKFEZFQVRVUkVfUlVMRV9ERUxFVEVEEBMSFQoRUlVMRV9DTEFVU0VfQURERUQQFBIXChNSVUxFX0NMQVVTRV9ERUxFVEVEEBUSHwobUlVMRV9GSVhFRF9TVFJBVEVHWV9DSEFOR0VEEBYSIQodUlVMRV9ST0xMT1VUX1NUUkFURUdZX0NIQU5HRUQQFxIcChhDTEFVU0VfQVRUUklCVVRFX0NIQU5HRUQQGBIbChdDTEFVU0VfT1BFUkFUT1JfQ0hBTkdFRBAZEhYKEkNMQVVTRV9WQUxVRV9BRERFRBAaEhgKFENMQVVTRV9WQUxVRV9SRU1PVkVEEBsSJAogRkVBVFVSRV9ERUZBVUxUX1NUUkFURUdZX0NIQU5HRUQQHBIVChFGRUFUVVJFX1RBR19BRERFRBAdEhcKE0ZFQVRVUkVfVEFHX1JFTU9WRUQQHhIfChtGRUFUVVJFX1ZFUlNJT05fSU5DUkVNRU5URUQQHxIUChBGRUFUVVJFX0FSQ0hJVkVEECASEgoORkVBVFVSRV9DTE9ORUQQIRIWChJGRUFUVVJFX1VOQVJDSElWRUQQIxIXChNTQU1QTElOR19TRUVEX1JFU0VUECISFgoSUFJFUkVRVUlTSVRFX0FEREVEECQSGAoUUFJFUkVRVUlTSVRFX1JFTU9WRUQQJRIiCh5QUkVSRVFVSVNJVEVfVkFSSUFUSU9OX0NIQU5HRUQQJhIfChtGRUFUVVJFX1JVTEVTX09SREVSX0NIQU5HRUQQJxITCg9GRUFUVVJFX1VQREFURUQQKBIQCgxHT0FMX0NSRUFURUQQZBIQCgxHT0FMX1JFTkFNRUQQZRIcChhHT0FMX0RFU0NSSVBUSU9OX0NIQU5HRUQQZhIQCgxHT0FMX0RFTEVURUQQZxIRCg1HT0FMX0FSQ0hJVkVEEGgSEAoMR09BTF9VUERBVEVEEGkSFwoSRVhQRVJJTUVOVF9DUkVBVEVEEMgBEhcKEkVYUEVSSU1FTlRfU1RPUFBFRBDJARIgChtFWFBFUklNRU5UX1NUQVJUX0FUX0NIQU5HRUQQygESHwoaRVhQRVJJTUVOVF9TVE9QX0FUX0NIQU5HRUQQywESFwoSRVhQRVJJTUVOVF9ERUxFVEVEEMwBEh4KGUVYUEVSSU1FTlRfUEVSSU9EX0NIQU5HRUQQzQESHAoXRVhQRVJJTUVOVF9OQU1FX0NIQU5HRUQQzgESIwoeRVhQRVJJTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEEM8BEhcKEkVYUEVSSU1FTlRfU1RBUlRFRBDQARIYChNFWFBFUklNRU5UX0ZJTklTSEVEENEBEhgKE0VYUEVSSU1FTlRfQVJDSElWRUQQ0gESFwoSRVhQRVJJTUVOVF9VUERBVEVEENMBEhgKD0FDQ09VTlRfQ1JFQVRFRBCsAhoCCAESHQoUQUNDT1VOVF9ST0xFX0NIQU5HRUQQrQIaAggBEhgKD0FDQ09VTlRfRU5BQkxFRBCuAhoCCAESGQoQQUNDT1VOVF9ESVNBQkxFRBCvAhoCCAESGAoPQUNDT1VOVF9ERUxFVEVEELACGgIIARIXChJBQ0NPVU5UX1YyX0NSRUFURUQQsQISHAoXQUNDT1VOVF9WMl9OQU1FX0NIQU5HRUQQsgISKAojQUNDT1VOVF9WMl9BVkFUQVJfSU1BR0VfVVJMX0NIQU5HRUQQswISKQokQUNDT1VOVF9WMl9PUkdBTklaQVRJT05fUk9MRV9DSEFOR0VEELQCEikKJEFDQ09VTlRfVjJfRU5WSVJPTk1FTlRfUk9MRVNfQ0hBTkdFRBC1AhIXChJBQ0NPVU5UX1YyX0VOQUJMRUQQtgISGAoTQUNDT1VOVF9WMl9ESVNBQkxFRBC3AhIXChJBQ0NPVU5UX1YyX0RFTEVURUQQuAISJQogQUNDT1VOVF9WMl9DUkVBVEVEX1NFQVJDSF9GSUxURVIQuQISKgolQUNDT1VOVF9WMl9TRUFSQ0hfRklMVEVSX05BTkVfQ0hBTkdFRBC6AhIrCiZBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfUVVFUllfQ0hBTkdFRBC7AhItCihBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfREVGQVVMVF9DSEFOR0VEELwCEiUKIEFDQ09VTlRfVjJfU0VBUkNIX0ZJTFRFUl9ERUxFVEVEEL0CEiIKHUFDQ09VTlRfVjJfRklSU1RfTkFNRV9DSEFOR0VEEL4CEiEKHEFDQ09VTlRfVjJfTEFTVF9OQU1FX0NIQU5HRUQQvwISIAobQUNDT1VOVF9WMl9MQU5HVUFHRV9DSEFOR0VEEMACEhcKEkFDQ09VTlRfVjJfVVBEQVRFRBDBAhIcChdBQ0NPVU5UX1YyX1RBR1NfQ0hBTkdFRBDCAhITCg5BUElLRVlfQ1JFQVRFRBCQAxIYChNBUElLRVlfTkFNRV9DSEFOR0VEEJEDEhMKDkFQSUtFWV9FTkFCTEVEEJIDEhQKD0FQSUtFWV9ESVNBQkxFRBCTAxITCg5BUElLRVlfQ0hBTkdFRBCUAxIUCg9TRUdNRU5UX0NSRUFURUQQ9AMSFAoPU0VHTUVOVF9ERUxFVEVEEPUDEhkKFFNFR01FTlRfTkFNRV9DSEFOR0VEEPYDEiAKG1NFR01FTlRfREVTQ1JJUFRJT05fQ0hBTkdFRBD3AxIXChJTRUdNRU5UX1JVTEVfQURERUQQ+AMSGQoUU0VHTUVOVF9SVUxFX0RFTEVURUQQ+QMSHgoZU0VHTUVOVF9SVUxFX0NMQVVTRV9BRERFRBD6AxIgChtTRUdNRU5UX1JVTEVfQ0xBVVNFX0RFTEVURUQQ+wMSJQogU0VHTUVOVF9DTEFVU0VfQVRUUklCVVRFX0NIQU5HRUQQ/AMSJAofU0VHTUVOVF9DTEFVU0VfT1BFUkFUT1JfQ0hBTkdFRBD9AxIfChpTRUdNRU5UX0NMQVVTRV9WQUxVRV9BRERFRBD+AxIhChxTRUdNRU5UX0NMQVVTRV9WQUxVRV9SRU1PVkVEEP8DEhcKElNFR01FTlRfVVNFUl9BRERFRBCABBIZChRTRUdNRU5UX1VTRVJfREVMRVRFRBCBBBIeChlTRUdNRU5UX0JVTEtfVVBMT0FEX1VTRVJTEIIEEi0KKFNFR01FTlRfQlVMS19VUExPQURfVVNFUlNfU1RBVFVTX0NIQU5HRUQQgwQSFAoPU0VHTUVOVF9VUERBVEVEEIQEEhgKE0VOVklST05NRU5UX0NSRUFURUQQ2AQSGAoTRU5WSVJPTk1FTlRfUkVOQU1FRBDZBBIkCh9FTlZJUk9OTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEENoEEhgKE0VOVklST05NRU5UX0RFTEVURUQQ2wQSGwoWRU5WSVJPTk1FTlRfVjJfQ1JFQVRFRBDcBBIbChZFTlZJUk9OTUVOVF9WMl9SRU5BTUVEEN0EEicKIkVOVklST05NRU5UX1YyX0RFU0NSSVBUSU9OX0NIQU5HRUQQ3gQSHAoXRU5WSVJPTk1FTlRfVjJfQVJDSElWRUQQ3wQSHgoZRU5WSVJPTk1FTlRfVjJfVU5BUkNISVZFRBDgBBIrCiZFTlZJUk9OTUVOVF9WMl9SRVFVSVJFX0NPTU1FTlRfQ0hBTkdFRBDhBBIeChVBRE1JTl9BQ0NPVU5UX0NSRUFURUQQvAUaAggBEh4KFUFETUlOX0FDQ09VTlRfRU5BQkxFRBC+BRoCCAESHwoWQURNSU5fQUNDT1VOVF9ESVNBQkxFRBC/BRoCCAESGQoUQVVUT09QU19SVUxFX0NSRUFURUQQoAYSGQoUQVVUT09QU19SVUxFX0RFTEVURUQQoQYSIgodQVVUT09QU19SVUxFX09QU19UWVBFX0NIQU5HRUQQogYSIAobQVVUT09QU19SVUxFX0NMQVVTRV9ERUxFVEVEEKMGEioKIUFVVE9PUFNfUlVMRV9UUklHR0VSRURfQVRfQ0hBTkdFRBCkBhoCCAESIAobT1BTX0VWRU5UX1JBVEVfQ0xBVVNFX0FEREVEEKUGEiIKHU9QU19FVkVOVF9SQVRFX0NMQVVTRV9DSEFOR0VEEKYGEhoKFURBVEVUSU1FX0NMQVVTRV9BRERFRBCnBhIcChdEQVRFVElNRV9DTEFVU0VfQ0hBTkdFRBCoBhIZChRBVVRPT1BTX1JVTEVfU1RPUFBFRBCpBhIkCh9BVVRPT1BTX1JVTEVfT1BTX1NUQVRVU19DSEFOR0VEEKoGEhEKDFBVU0hfQ1JFQVRFRBCEBxIRCgxQVVNIX0RFTEVURUQQhQcSFAoPUFVTSF9UQUdTX0FEREVEEIYHEhYKEVBVU0hfVEFHU19ERUxFVEVEEIcHEhEKDFBVU0hfUkVOQU1FRBCIBxIRCgxQVVNIX1VQREFURUQQiQcSGQoUU1VCU0NSSVBUSU9OX0NSRUFURUQQ6AcSGQoUU1VCU0NSSVBUSU9OX0RFTEVURUQQ6QcSGQoUU1VCU0NSSVBUSU9OX0VOQUJMRUQQ6gcSGgoVU1VCU0NSSVBUSU9OX0RJU0FCTEVEEOsHEiMKHlNVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9BRERFRBDsBxIlCiBTVUJTQ1JJUFRJT05fU09VUkNFX1RZUEVfREVMRVRFRBDtBxIZChRTVUJTQ1JJUFRJT05fUkVOQU1FRBDuBxIZChRTVUJTQ1JJUFRJT05fVVBEQVRFRBDvBxIrCiZTVUJTQ1JJUFRJT05fRkVBVFVSRV9GTEFHX1RBR1NfVVBEQVRFRBDwBxIfChpBRE1JTl9TVUJTQ1JJUFRJT05fQ1JFQVRFRBDMCBIfChpBRE1JTl9TVUJTQ1JJUFRJT05fREVMRVRFRBDNCBIfChpBRE1JTl9TVUJTQ1JJUFRJT05fRU5BQkxFRBDOCBIgChtBRE1JTl9TVUJTQ1JJUFRJT05fRElTQUJMRUQQzwgSKQokQURNSU5fU1VCU0NSSVBUSU9OX1NPVVJDRV9UWVBFX0FEREVEENAIEisKJkFETUlOX1NVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9ERUxFVEVEENEIEh8KGkFETUlOX1NVQlNDUklQVElPTl9SRU5BTUVEENIIEhQKD1BST0pFQ1RfQ1JFQVRFRBCwCRIgChtQUk9KRUNUX0RFU0NSSVBUSU9OX0NIQU5HRUQQsQkSFAoPUFJPSkVDVF9FTkFCTEVEELIJEhUKEFBST0pFQ1RfRElTQUJMRUQQswkSGgoVUFJPSkVDVF9UUklBTF9DUkVBVEVEELQJEhwKF1BST0pFQ1RfVFJJQUxfQ09OVkVSVEVEELUJEhQKD1BST0pFQ1RfUkVOQU1FRBC2CRIgChtQUk9HUkVTU0lWRV9ST0xMT1VUX0NSRUFURUQQ+AoSIAobUFJPR1JFU1NJVkVfUk9MTE9VVF9ERUxFVEVEEPkKEjYKMVBST0dSRVNTSVZFX1JPTExPVVRfU0NIRURVTEVfVFJJR0dFUkVEX0FUX0NIQU5HRUQQ+goSIAobUFJPR1JFU1NJVkVfUk9MTE9VVF9TVE9QUEVEEPsKEhkKFE9SR0FOSVpBVElPTl9DUkVBVEVEENwLEh4KGU9SR0FOSVpBVElPTl9OQU1FX0NIQU5HRUQQ3QsSJQogT1JHQU5JWkFUSU9OX0RFU0NSSVBUSU9OX0NIQU5HRUQQ3gsSGQoUT1JHQU5JWkFUSU9OX0VOQUJMRUQQ3wsSGgoVT1JHQU5JWkFUSU9OX0RJU0FCTEVEEOALEhoKFU9SR0FOSVpBVElPTl9BUkNISVZFRBDhCxIcChdPUkdBTklaQVRJT05fVU5BUkNISVZFRBDiCxIhChxPUkdBTklaQVRJT05fVFJJQUxfQ09OVkVSVEVEEOMLEiUKIE9SR0FOSVpBVElPTl9PV05FUl9FTUFJTF9DSEFOR0VEEOQLEhkKFEZMQUdfVFJJR0dFUl9DUkVBVEVEEMEMEhcKEkZMQUdfVFJJR0dFUl9SRVNFVBDCDBIlCiBGTEFHX1RSSUdHRVJfREVTQ1JJUFRJT05fQ0hBTkdFRBDDDBIaChVGTEFHX1RSSUdHRVJfRElTQUJMRUQQxAwSGQoURkxBR19UUklHR0VSX0VOQUJMRUQQxQwSGQoURkxBR19UUklHR0VSX0RFTEVURUQQxgwSHwoaRkxBR19UUklHR0VSX1VTQUdFX1VQREFURUQQxwwSEAoLVEFHX0NSRUFURUQQpQ0SEAoLVEFHX0RFTEVURUQQpg0SGwoWQ09ERV9SRUZFUkVOQ0VfQ1JFQVRFRBCIDhIbChZDT0RFX1JFRkVSRU5DRV9VUERBVEVEEIkOEhsKFkNPREVfUkVGRVJFTkNFX0RFTEVURUQQig4iBgiUChCUCiIGCJUKEJUKIgYIlgoQlgoiBgiXChCXCiIGCJgKEJgKIgYImQoQmQpKBAgIEAkijAIKBkVkaXRvchIUCgVlbWFpbBgBIAEoCVIFZW1haWwSGQoIaXNfYWRtaW4YAyABKAhSB2lzQWRtaW4SEgoEbmFtZRgEIAEoCVIEbmFtZRJaChFwdWJsaWNfYXBpX2VkaXRvchgFIAEoCzIuLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRWRpdG9yLlB1YmxpY0FQSUVkaXRvclIPcHVibGljQXBpRWRpdG9yGlsKD1B1YmxpY0FQSUVkaXRvchIUCgV0b2tlbhgBIAEoCVIFdG9rZW4SHgoKbWFpbnRhaW5lchgCIAEoCVIKbWFpbnRhaW5lchISCgRuYW1lGAMgASgJUgRuYW1lSgQIAhADIkQKB09wdGlvbnMSGAoHY29tbWVudBgBIAEoCVIHY29tbWVudBIfCgtuZXdfdmVyc2lvbhgCIAEoBVIKbmV3VmVyc2lvbiLzBAoTRmVhdHVyZUNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SEgoEdXNlchgEIAEoCVIEdXNlchI8Cgp2YXJpYXRpb25zGAUgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zElgKGmRlZmF1bHRfb25fdmFyaWF0aW9uX2luZGV4GAYgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSF2RlZmF1bHRPblZhcmlhdGlvbkluZGV4EloKG2RlZmF1bHRfb2ZmX3ZhcmlhdGlvbl9pbmRleBgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhhkZWZhdWx0T2ZmVmFyaWF0aW9uSW5kZXgSTwoOdmFyaWF0aW9uX3R5cGUYCCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSEgoEdGFncxgJIAMoCVIEdGFncxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEi0KBXJ1bGVzGAsgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSMwoHdGFyZ2V0cxgMIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cyJmChNGZWF0dXJlVXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIWCgRkYXRhGAIgASgJQgIYAVIEZGF0YRInCg1wcmV2aW91c19kYXRhGAMgASgJQgIYAVIMcHJldmlvdXNEYXRhIiUKE0ZlYXR1cmVFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFEZlYXR1cmVEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCImChRGZWF0dXJlQXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiKAoWRmVhdHVyZVVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiJQoTRmVhdHVyZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiLQobRXZhbHVhdGlvbkRlbGF5YWJsZVNldEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIvCh1FdmFsdWF0aW9uVW5kZWxheWFibGVTZXRFdmVudBIOCgJpZBgBIAEoCVICaWQiOQoTRmVhdHVyZVJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJSCh5GZWF0dXJlRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiJWCh9GZWF0dXJlT2ZmVmFyaWF0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIjCg1vZmZfdmFyaWF0aW9uGAIgASgJUgxvZmZWYXJpYXRpb24iaAoaRmVhdHVyZVZhcmlhdGlvbkFkZGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjoKCXZhcmlhdGlvbhgCIAEoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIJdmFyaWF0aW9uIlEKHEZlYXR1cmVWYXJpYXRpb25SZW1vdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiYQoaVmFyaWF0aW9uVmFsdWVDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiXgoZVmFyaWF0aW9uTmFtZUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhIKBG5hbWUYAyABKAlSBG5hbWUicwogVmFyaWF0aW9uRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iXAoXVmFyaWF0aW9uVXNlckFkZGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBISCgR1c2VyGAMgASgJUgR1c2VyIl4KGVZhcmlhdGlvblVzZXJSZW1vdmVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBISCgR1c2VyGAMgASgJUgR1c2VyIlQKFUZlYXR1cmVSdWxlQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSKwoEcnVsZRgCIAEoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBHJ1bGUikQEKHkZlYXR1cmVDaGFuZ2VSdWxlU3RyYXRlZ3lFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjcKCHN0cmF0ZWd5GAMgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5IlkKHUZlYXR1cmVSdWxlc09yZGVyQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIZCghydWxlX2lkcxgCIAMoCVIHcnVsZUlkcyJCChdGZWF0dXJlUnVsZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIpgBCiBGZWF0dXJlRml4ZWRTdHJhdGVneUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kinAEKIkZlYXR1cmVSb2xsb3V0U3RyYXRlZ3lDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kigQEKFFJ1bGVDbGF1c2VBZGRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSMQoGY2xhdXNlGAMgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgZjbGF1c2UiYAoWUnVsZUNsYXVzZURlbGV0ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZCKDAQobQ2xhdXNlQXR0cmlidXRlQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhwKCWF0dHJpYnV0ZRgEIAEoCVIJYXR0cmlidXRlIqQBChpDbGF1c2VPcGVyYXRvckNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZBI+CghvcGVyYXRvchgEIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3IidQoVQ2xhdXNlVmFsdWVBZGRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSJ3ChdDbGF1c2VWYWx1ZVJlbW92ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZBIUCgV2YWx1ZRgEIAEoCVIFdmFsdWUibQoiRmVhdHVyZURlZmF1bHRTdHJhdGVneUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSNwoIc3RyYXRlZ3kYAiABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiOAoURmVhdHVyZVRhZ0FkZGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhAKA3RhZxgCIAEoCVIDdGFnIjoKFkZlYXR1cmVUYWdSZW1vdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhAKA3RhZxgCIAEoCVIDdGFnIkoKHkZlYXR1cmVWZXJzaW9uSW5jcmVtZW50ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSGAoHdmVyc2lvbhgCIAEoBVIHdmVyc2lvbiK1BAoSRmVhdHVyZUNsb25lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhI8Cgp2YXJpYXRpb25zGAQgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEjMKB3RhcmdldHMYBSADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYBiADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GAcgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRIjCg1vZmZfdmFyaWF0aW9uGAggASgJUgxvZmZWYXJpYXRpb24SEgoEdGFncxgJIAMoCVIEdGFncxIeCgptYWludGFpbmVyGAogASgJUgptYWludGFpbmVyEk8KDnZhcmlhdGlvbl90eXBlGAsgASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlEkUKDXByZXJlcXVpc2l0ZXMYDCADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMiRAodRmVhdHVyZVNhbXBsaW5nU2VlZFJlc2V0RXZlbnQSIwoNc2FtcGxpbmdfc2VlZBgBIAEoCVIMc2FtcGxpbmdTZWVkIoQCChBHb2FsQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdkZWxldGVkGAQgASgIUgdkZWxldGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSUgoPY29ubmVjdGlvbl90eXBlGAcgASgOMikuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5Db25uZWN0aW9uVHlwZVIOY29ubmVjdGlvblR5cGUilAEKEEdvYWxVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uIjYKEEdvYWxSZW5hbWVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiTwobR29hbERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iIwoRR29hbEFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiIKEEdvYWxEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIvMDChZFeHBlcmltZW50Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhI8Cgp2YXJpYXRpb25zGAQgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEhsKB2dvYWxfaWQYBSABKAlCAhgBUgZnb2FsSWQSGQoIc3RhcnRfYXQYBiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgHIAEoA1IGc3RvcEF0EhgKB3N0b3BwZWQYCCABKAhSB3N0b3BwZWQSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0Eh0KCmNyZWF0ZWRfYXQYCiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAsgASgDUgl1cGRhdGVkQXQSGQoIZ29hbF9pZHMYDCADKAlSB2dvYWxJZHMSEgoEbmFtZRgNIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgOIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYDyABKAlSD2Jhc2VWYXJpYXRpb25JZCJHChZFeHBlcmltZW50U3RvcHBlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpzdG9wcGVkX2F0GAIgASgDUglzdG9wcGVkQXQiKQoXRXhwZXJpbWVudEFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIigKFkV4cGVyaW1lbnREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIkoKHUV4cGVyaW1lbnRTdGFydEF0Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIZCghzdGFydF9hdBgCIAEoA1IHc3RhcnRBdCJHChxFeHBlcmltZW50U3RvcEF0Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIXCgdzdG9wX2F0GAIgASgDUgZzdG9wQXQiYgocRXhwZXJpbWVudFBlcmlvZENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSGQoIc3RhcnRfYXQYAiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgDIAEoA1IGc3RvcEF0IkAKGkV4cGVyaW1lbnROYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlUKIUV4cGVyaW1lbnREZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uItMBChZFeHBlcmltZW50VXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIZCghzdGFydF9hdBgEIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAUgASgDUgZzdG9wQXQSPwoGc3RhdHVzGAYgASgOMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5TdGF0dXNSBnN0YXR1cyIYChZFeHBlcmltZW50U3RhcnRlZEV2ZW50IhkKF0V4cGVyaW1lbnRGaW5pc2hlZEV2ZW50IpIEChVBY2NvdW50VjJDcmVhdGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSHQoKZmlyc3RfbmFtZRgKIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgLIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDCABKAlSCGxhbmd1YWdlEhIKBHRhZ3MYDSADKAlSBHRhZ3MiVgoVQWNjb3VudFYyVXBkYXRlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkIkUKGUFjY291bnRWMk5hbWVDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUiZQojQWNjb3VudFYyQXZhdGFySW1hZ2VVUkxDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEigKEGF2YXRhcl9pbWFnZV91cmwYAiABKAlSDmF2YXRhckltYWdlVXJsIkUKGUFjY291bnRWMlRhZ3NDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBHRhZ3MYAiADKAlSBHRhZ3MimgEKJUFjY291bnRWMk9yZ2FuaXphdGlvblJvbGVDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsElsKEW9yZ2FuaXphdGlvbl9yb2xlGAIgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlIpgBCiVBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBJZChFlbnZpcm9ubWVudF9yb2xlcxgCIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMiLQoVQWNjb3VudFYyRW5hYmxlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbCIuChZBY2NvdW50VjJEaXNhYmxlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbCItChVBY2NvdW50VjJEZWxldGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsItcBChhTZWFyY2hGaWx0ZXJDcmVhdGVkRXZlbnQSEgoETmFtZRgBIAEoCVIETmFtZRIUCgVRdWVyeRgCIAEoCVIFUXVlcnkSQwoKVGFyZ2V0VHlwZRgDIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSClRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBSABKAhSDWRlZmF1bHRGaWx0ZXIiQgocU2VhcmNoRmlsdGVyTmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoETmFtZRgCIAEoCVIETmFtZSJFCh1TZWFyY2hGaWx0ZXJRdWVyeUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFAoFUXVlcnkYAiABKAlSBVF1ZXJ5IlgKH1NlYXJjaEZpbHRlckRlZmF1bHRDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiUKDmRlZmF1bHRfZmlsdGVyGAIgASgIUg1kZWZhdWx0RmlsdGVyIioKGFNlYXJjaEZpbHRlckRlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQi/wEKEkFQSUtleUNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyCgRyb2xlGAMgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHgoKbWFpbnRhaW5lchgHIAEoCVIKbWFpbnRhaW5lchIXCgdhcGlfa2V5GAggASgJUgZhcGlLZXkiJAoSQVBJS2V5Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCI8ChZBUElLZXlOYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIiQKEkFQSUtleUVuYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiJQoTQVBJS2V5RGlzYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiWwoTU2VnbWVudENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iJQoTU2VnbWVudERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQilwEKE1NlZ21lbnRVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uIj0KF1NlZ21lbnROYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlIKHlNlZ21lbnREZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIlQKFVNlZ21lbnRSdWxlQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSKwoEcnVsZRgCIAEoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBHJ1bGUiQgoXU2VnbWVudFJ1bGVEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCKIAQobU2VnbWVudFJ1bGVDbGF1c2VBZGRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSMQoGY2xhdXNlGAMgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgZjbGF1c2UidAodU2VnbWVudFJ1bGVDbGF1c2VEZWxldGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkIpcBCiJTZWdtZW50Q2xhdXNlQXR0cmlidXRlQ2hhbmdlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZBIcCglhdHRyaWJ1dGUYBCABKAlSCWF0dHJpYnV0ZSK4AQohU2VnbWVudENsYXVzZU9wZXJhdG9yQ2hhbmdlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZBI+CghvcGVyYXRvchgEIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3IiiQEKHFNlZ21lbnRDbGF1c2VWYWx1ZUFkZGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSKLAQoeU2VnbWVudENsYXVzZVZhbHVlUmVtb3ZlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZBIUCgV2YWx1ZRgEIAEoCVIFdmFsdWUijQEKFVNlZ21lbnRVc2VyQWRkZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSGQoIdXNlcl9pZHMYAiADKAlSB3VzZXJJZHMSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUijwEKF1NlZ21lbnRVc2VyRGVsZXRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIZCgh1c2VyX2lkcxgCIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSKzAQobU2VnbWVudEJ1bGtVcGxvYWRVc2Vyc0V2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBI5CgZzdGF0dXMYAiABKA4yIS5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50LlN0YXR1c1IGc3RhdHVzEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlItYBCihTZWdtZW50QnVsa1VwbG9hZFVzZXJzU3RhdHVzQ2hhbmdlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBI5CgZzdGF0dXMYAiABKA4yIS5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50LlN0YXR1c1IGc3RhdHVzEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEhQKBWNvdW50GAQgASgDUgVjb3VudCL0AQoXRW52aXJvbm1lbnRDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhwKCW5hbWVzcGFjZRgCIAEoCVIJbmFtZXNwYWNlEhIKBG5hbWUYAyABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIdCgpwcm9qZWN0X2lkGAggASgJUglwcm9qZWN0SWQiPQoXRW52aXJvbm1lbnRSZW5hbWVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVgoiRW52aXJvbm1lbnREZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIkcKF0Vudmlyb25tZW50RGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIcCgluYW1lc3BhY2UYAiABKAlSCW5hbWVzcGFjZSKeAgoZRW52aXJvbm1lbnRWMkNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgDIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SHQoKcHJvamVjdF9pZBgFIAEoCVIJcHJvamVjdElkEhoKCGFyY2hpdmVkGAYgASgIUghhcmNoaXZlZBIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EicKD3JlcXVpcmVfY29tbWVudBgJIAEoCFIOcmVxdWlyZUNvbW1lbnQigAEKGUVudmlyb25tZW50VjJSZW5hbWVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCnByb2plY3RfaWQYAiABKAlSCXByb2plY3RJZBIZCghvbGRfbmFtZRgDIAEoCVIHb2xkTmFtZRIZCghuZXdfbmFtZRgEIAEoCVIHbmV3TmFtZSK7AQokRW52aXJvbm1lbnRWMkRlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZBInCg9vbGRfZGVzY3JpcHRpb24YBCABKAlSDm9sZERlc2NyaXB0aW9uEicKD25ld19kZXNjcmlwdGlvbhgFIAEoCVIObmV3RGVzY3JpcHRpb24ilQEKJ0Vudmlyb25tZW50VjJSZXF1aXJlQ29tbWVudENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpwcm9qZWN0X2lkGAMgASgJUglwcm9qZWN0SWQSJwoPcmVxdWlyZV9jb21tZW50GAQgASgIUg5yZXF1aXJlQ29tbWVudCJfChpFbnZpcm9ubWVudFYyQXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpwcm9qZWN0X2lkGAMgASgJUglwcm9qZWN0SWQiYQocRW52aXJvbm1lbnRWMlVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpwcm9qZWN0X2lkGAMgASgJUglwcm9qZWN0SWQiqQIKF0F1dG9PcHNSdWxlQ3JlYXRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBI1CghvcHNfdHlwZRgCIAEoDjIaLmJ1Y2tldGVlci5hdXRvb3BzLk9wc1R5cGVSB29wc1R5cGUSMwoHY2xhdXNlcxgDIAMoCzIZLmJ1Y2tldGVlci5hdXRvb3BzLkNsYXVzZVIHY2xhdXNlcxIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0Ej8KCm9wc19zdGF0dXMYByABKA4yIC5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzU3RhdHVzUglvcHNTdGF0dXNKBAgEEAUiGQoXQXV0b09wc1J1bGVTdG9wcGVkRXZlbnQiGQoXQXV0b09wc1J1bGVEZWxldGVkRXZlbnQiVwoeQXV0b09wc1J1bGVPcHNUeXBlQ2hhbmdlZEV2ZW50EjUKCG9wc190eXBlGAEgASgOMhouYnVja2V0ZWVyLmF1dG9vcHMuT3BzVHlwZVIHb3BzVHlwZSIkCiJBdXRvT3BzUnVsZVRyaWdnZXJlZEF0Q2hhbmdlZEV2ZW50ImMKIEF1dG9PcHNSdWxlT3BzU3RhdHVzQ2hhbmdlZEV2ZW50Ej8KCm9wc19zdGF0dXMYASABKA4yIC5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzU3RhdHVzUglvcHNTdGF0dXMilQEKHE9wc0V2ZW50UmF0ZUNsYXVzZUFkZGVkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZBJYChVvcHNfZXZlbnRfcmF0ZV9jbGF1c2UYAiABKAsyJS5idWNrZXRlZXIuYXV0b29wcy5PcHNFdmVudFJhdGVDbGF1c2VSEm9wc0V2ZW50UmF0ZUNsYXVzZSKXAQoeT3BzRXZlbnRSYXRlQ2xhdXNlQ2hhbmdlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQSWAoVb3BzX2V2ZW50X3JhdGVfY2xhdXNlGAIgASgLMiUuYnVja2V0ZWVyLmF1dG9vcHMuT3BzRXZlbnRSYXRlQ2xhdXNlUhJvcHNFdmVudFJhdGVDbGF1c2UiPAodQXV0b09wc1J1bGVDbGF1c2VEZWxldGVkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZCKDAQoYRGF0ZXRpbWVDbGF1c2VBZGRlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQSSgoPZGF0ZXRpbWVfY2xhdXNlGAIgASgLMiEuYnVja2V0ZWVyLmF1dG9vcHMuRGF0ZXRpbWVDbGF1c2VSDmRhdGV0aW1lQ2xhdXNlIoUBChpEYXRldGltZUNsYXVzZUNoYW5nZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkEkoKD2RhdGV0aW1lX2NsYXVzZRgCIAEoCzIhLmJ1Y2tldGVlci5hdXRvb3BzLkRhdGV0aW1lQ2xhdXNlUg5kYXRldGltZUNsYXVzZSJwChBQdXNoQ3JlYXRlZEV2ZW50Ei4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYASABKAlSEWZjbVNlcnZpY2VBY2NvdW50EhIKBHRhZ3MYAyADKAlSBHRhZ3MSEgoEbmFtZRgEIAEoCVIEbmFtZUoECAIQAyISChBQdXNoRGVsZXRlZEV2ZW50IigKElB1c2hUYWdzQWRkZWRFdmVudBISCgR0YWdzGAIgAygJUgR0YWdzIioKFFB1c2hUYWdzRGVsZXRlZEV2ZW50EhIKBHRhZ3MYAiADKAlSBHRhZ3MiJgoQUHVzaFJlbmFtZWRFdmVudBISCgRuYW1lGAIgASgJUgRuYW1lIioKFFB1c2hUYWdzVXBkYXRlZEV2ZW50EhIKBHRhZ3MYAiADKAlSBHRhZ3MiWAoQUHVzaFVwZGF0ZWRFdmVudBIwCgRuYW1lGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEhIKBHRhZ3MYAiADKAlSBHRhZ3Mi7wEKGFN1YnNjcmlwdGlvbkNyZWF0ZWRFdmVudBJSCgxzb3VyY2VfdHlwZXMYASADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcxI/CglyZWNpcGllbnQYAiABKAsyIS5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudFIJcmVjaXBpZW50EhIKBG5hbWUYAyABKAlSBG5hbWUSKgoRZmVhdHVyZV9mbGFnX3RhZ3MYBCADKAlSD2ZlYXR1cmVGbGFnVGFncyIaChhTdWJzY3JpcHRpb25EZWxldGVkRXZlbnQiGgoYU3Vic2NyaXB0aW9uRW5hYmxlZEV2ZW50IhsKGVN1YnNjcmlwdGlvbkRpc2FibGVkRXZlbnQidwohU3Vic2NyaXB0aW9uU291cmNlVHlwZXNBZGRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzInkKI1N1YnNjcmlwdGlvblNvdXJjZVR5cGVzRGVsZXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIi4KGFN1YnNjcmlwdGlvblJlbmFtZWRFdmVudBISCgRuYW1lGAEgASgJUgRuYW1lIlUKJ1N1YnNjcmlwdGlvbkZlYXR1cmVGbGFnVGFnc1VwZGF0ZWRFdmVudBIqChFmZWF0dXJlX2ZsYWdfdGFncxgBIAMoCVIPZmVhdHVyZUZsYWdUYWdzIpQCChhTdWJzY3JpcHRpb25VcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSUgoMc291cmNlX3R5cGVzGAMgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSNgoIZGlzYWJsZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBIqChFmZWF0dXJlX2ZsYWdfdGFncxgFIAMoCVIPZmVhdHVyZUZsYWdUYWdzIsgBCh1BZG1pblN1YnNjcmlwdGlvbkNyZWF0ZWRFdmVudBJSCgxzb3VyY2VfdHlwZXMYASADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcxI/CglyZWNpcGllbnQYAiABKAsyIS5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudFIJcmVjaXBpZW50EhIKBG5hbWUYAyABKAlSBG5hbWUiHwodQWRtaW5TdWJzY3JpcHRpb25EZWxldGVkRXZlbnQiHwodQWRtaW5TdWJzY3JpcHRpb25FbmFibGVkRXZlbnQiIAoeQWRtaW5TdWJzY3JpcHRpb25EaXNhYmxlZEV2ZW50InwKJkFkbWluU3Vic2NyaXB0aW9uU291cmNlVHlwZXNBZGRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIn4KKEFkbWluU3Vic2NyaXB0aW9uU291cmNlVHlwZXNEZWxldGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMiMwodQWRtaW5TdWJzY3JpcHRpb25SZW5hbWVkRXZlbnQSEgoEbmFtZRgBIAEoCVIEbmFtZSKLAgoTUHJvamVjdENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAMgASgIUghkaXNhYmxlZBIUCgV0cmlhbBgEIAEoCFIFdHJpYWwSIwoNY3JlYXRvcl9lbWFpbBgFIAEoCVIMY3JlYXRvckVtYWlsEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgIIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgJIAEoCVIHdXJsQ29kZSJSCh5Qcm9qZWN0RGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiI5ChNQcm9qZWN0UmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIiUKE1Byb2plY3RFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFFByb2plY3REaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCKQAgoYUHJvamVjdFRyaWFsQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlIiwKGlByb2plY3RUcmlhbENvbnZlcnRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCJdChZQcmVyZXF1aXNpdGVBZGRlZEV2ZW50EkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlImgKIVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNoYW5nZWRFdmVudBJDCgxwcmVyZXF1aXNpdGUYASABKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDHByZXJlcXVpc2l0ZSI5ChhQcmVyZXF1aXNpdGVSZW1vdmVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkIvsBCh5Qcm9ncmVzc2l2ZVJvbGxvdXRDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USHQoKY3JlYXRlZF9hdBgEIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBSABKANSCXVwZGF0ZWRBdBI+CgR0eXBlGAYgASgOMiouYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlR5cGVSBHR5cGUi5QEKHlByb2dyZXNzaXZlUm9sbG91dFN0b3BwZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSRAoGc3RhdHVzGAIgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEk4KCnN0b3BwZWRfYnkYAyABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgEIAEoA1IJc3RvcHBlZEF0IjAKHlByb2dyZXNzaXZlUm9sbG91dERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiVAoxUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGVUcmlnZ2VyZWRBdENoYW5nZWRFdmVudBIfCgtzY2hlZHVsZV9pZBgBIAEoCVIKc2NoZWR1bGVJZCKoAgoYT3JnYW5pemF0aW9uQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0Eh8KC293bmVyX2VtYWlsGAogASgJUgpvd25lckVtYWlsIlcKI09yZ2FuaXphdGlvbkRlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iVQoiT3JnYW5pemF0aW9uT3duZXJFbWFpbENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHwoLb3duZXJfZW1haWwYAiABKAlSCm93bmVyRW1haWwiQgocT3JnYW5pemF0aW9uTmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSIqChhPcmdhbml6YXRpb25FbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIisKGU9yZ2FuaXphdGlvbkRpc2FibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIisKGU9yZ2FuaXphdGlvbkFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIi0KG09yZ2FuaXphdGlvblVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiMQofT3JnYW5pemF0aW9uVHJpYWxDb252ZXJ0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQi4wIKF0ZsYWdUcmlnZ2VyQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhQKBXRva2VuGAcgASgJUgV0b2tlbhIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIokBChVGbGFnVHJpZ2dlclJlc2V0RXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIUCgV0b2tlbhgEIAEoCVIFdG9rZW4SJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiogEKIkZsYWdUcmlnZ2VyRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidgoYRmxhZ1RyaWdnZXJEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidQoXRmxhZ1RyaWdnZXJFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCJ1ChdGbGFnVHJpZ2dlckRlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIssBChxGbGFnVHJpZ2dlclVzYWdlVXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSKgoRbGFzdF90cmlnZ2VyZWRfYXQYBCABKANSD2xhc3RUcmlnZ2VyZWRBdBIjCg10cmlnZ2VyX3RpbWVzGAUgASgFUgx0cmlnZ2VyVGltZXMSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiVQoeQWNjb3VudFYyRmlyc3ROYW1lQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIdCgpmaXJzdF9uYW1lGAIgASgJUglmaXJzdE5hbWUiUgodQWNjb3VudFYyTGFzdE5hbWVDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhsKCWxhc3RfbmFtZRgCIAEoCVIIbGFzdE5hbWUiUQodQWNjb3VudFYyTGFuZ3VhZ2VDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhoKCGxhbmd1YWdlGAIgASgJUghsYW5ndWFnZSLaAQoPVGFnQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCmNyZWF0ZWRfYXQYAyABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAQgASgDUgl1cGRhdGVkQXQSPgoLZW50aXR5X3R5cGUYBSABKA4yHS5idWNrZXRlZXIudGFnLlRhZy5FbnRpdHlUeXBlUgplbnRpdHlUeXBlEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkIkgKD1RhZ0RlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWQiyQQKGUNvZGVSZWZlcmVuY2VDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIbCglmaWxlX3BhdGgYAyABKAlSCGZpbGVQYXRoEh8KC2xpbmVfbnVtYmVyGAQgASgFUgpsaW5lTnVtYmVyEiEKDGNvZGVfc25pcHBldBgFIAEoCVILY29kZVNuaXBwZXQSIQoMY29udGVudF9oYXNoGAYgASgJUgtjb250ZW50SGFzaBIYCgdhbGlhc2VzGAcgAygJUgdhbGlhc2VzEicKD3JlcG9zaXRvcnlfbmFtZRgIIAEoCVIOcmVwb3NpdG9yeU5hbWUSKQoQcmVwb3NpdG9yeV9vd25lchgJIAEoCVIPcmVwb3NpdG9yeU93bmVyElgKD3JlcG9zaXRvcnlfdHlwZRgKIAEoDjIvLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2UuUmVwb3NpdG9yeVR5cGVSDnJlcG9zaXRvcnlUeXBlEisKEXJlcG9zaXRvcnlfYnJhbmNoGAsgASgJUhByZXBvc2l0b3J5QnJhbmNoEh8KC2NvbW1pdF9oYXNoGAwgASgJUgpjb21taXRIYXNoEiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkEh0KCmNyZWF0ZWRfYXQYDiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GA8gASgDUgl1cGRhdGVkQXQi3QIKGUNvZGVSZWZlcmVuY2VVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhsKCWZpbGVfcGF0aBgCIAEoCVIIZmlsZVBhdGgSHwoLbGluZV9udW1iZXIYAyABKAVSCmxpbmVOdW1iZXISIQoMY29kZV9zbmlwcGV0GAQgASgJUgtjb2RlU25pcHBldBIhCgxjb250ZW50X2hhc2gYBSABKAlSC2NvbnRlbnRIYXNoEhgKB2FsaWFzZXMYBiADKAlSB2FsaWFzZXMSKwoRcmVwb3NpdG9yeV9icmFuY2gYByABKAlSEHJlcG9zaXRvcnlCcmFuY2gSHwoLY29tbWl0X2hhc2gYCCABKAlSCmNvbW1pdEhhc2gSJQoOZW52aXJvbm1lbnRfaWQYCSABKAlSDWVudmlyb25tZW50SWQSHQoKdXBkYXRlZF9hdBgKIAEoA1IJdXBkYXRlZEF0IlIKGUNvZGVSZWZlcmVuY2VEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkQjZaNGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9ldmVudC9kb21haW5iBnByb3RvMwrKAQoqcHJvdG8vZXZlbnQvZG9tYWluL2xvY2FsaXplZF9tZXNzYWdlLnByb3RvEhZidWNrZXRlZXIuZXZlbnQuZG9tYWluIkQKEExvY2FsaXplZE1lc3NhZ2USFgoGbG9jYWxlGAEgASgJUgZsb2NhbGUSGAoHbWVzc2FnZRgCIAEoCVIHbWVzc2FnZUI2WjRnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXZlbnQvZG9tYWluYgZwcm90bzMK+gUKHXByb3RvL2F1ZGl0bG9nL2F1ZGl0bG9nLnByb3RvEhJidWNrZXRlZXIuYXVkaXRsb2caGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHnByb3RvL2V2ZW50L2RvbWFpbi9ldmVudC5wcm90bxoqcHJvdG8vZXZlbnQvZG9tYWluL2xvY2FsaXplZF9tZXNzYWdlLnByb3RvIqEECghBdWRpdExvZxIOCgJpZBgBIAEoCVICaWQSHAoJdGltZXN0YW1wGAIgASgDUgl0aW1lc3RhbXASSQoLZW50aXR5X3R5cGUYAyABKA4yKC5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LkVudGl0eVR5cGVSCmVudGl0eVR5cGUSGwoJZW50aXR5X2lkGAQgASgJUghlbnRpdHlJZBI2CgR0eXBlGAUgASgOMiIuYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FdmVudC5UeXBlUgR0eXBlEioKBWV2ZW50GAYgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFZXZlbnQSNgoGZWRpdG9yGAcgASgLMh4uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FZGl0b3JSBmVkaXRvchI5CgdvcHRpb25zGAggASgLMh8uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5PcHRpb25zUgdvcHRpb25zElUKEWxvY2FsaXplZF9tZXNzYWdlGAkgASgLMiguYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5Mb2NhbGl6ZWRNZXNzYWdlUhBsb2NhbGl6ZWRNZXNzYWdlEh8KC2VudGl0eV9kYXRhGAogASgJUgplbnRpdHlEYXRhEjAKFHByZXZpb3VzX2VudGl0eV9kYXRhGAsgASgJUhJwcmV2aW91c0VudGl0eURhdGFCMlowZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1ZGl0bG9nYgZwcm90bzMKoBMKHHByb3RvL2F1ZGl0bG9nL3NlcnZpY2UucHJvdG8SEmJ1Y2tldGVlci5hdWRpdGxvZxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGh1wcm90by9hdWRpdGxvZy9hdWRpdGxvZy5wcm90byL8AwoUTGlzdEF1ZGl0TG9nc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJLCghvcmRlcl9ieRgEIAEoDjIwLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmAKD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI3LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSEgoEZnJvbRgHIAEoA1IEZnJvbRIOCgJ0bxgIIAEoA1ICdG8SPAoLZW50aXR5X3R5cGUYCSABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKZW50aXR5VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZCIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAFKBAgDEAQijQEKFUxpc3RBdWRpdExvZ3NSZXNwb25zZRI7CgphdWRpdF9sb2dzGAEgAygLMhwuYnVja2V0ZWVyLmF1ZGl0bG9nLkF1ZGl0TG9nUglhdWRpdExvZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQi3gMKGUxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJQCghvcmRlcl9ieRgDIAEoDjI1LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QWRtaW5BdWRpdExvZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSZQoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjwuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEhIKBGZyb20YBiABKANSBGZyb20SDgoCdG8YByABKANSAnRvEjwKC2VudGl0eV90eXBlGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSCmVudGl0eVR5cGUiJQoHT3JkZXJCeRILCgdERUZBVUxUEAASDQoJVElNRVNUQU1QEAEiIwoOT3JkZXJEaXJlY3Rpb24SCAoEREVTQxAAEgcKA0FTQxABIpIBChpMaXN0QWRtaW5BdWRpdExvZ3NSZXNwb25zZRI7CgphdWRpdF9sb2dzGAEgAygLMhwuYnVja2V0ZWVyLmF1ZGl0bG9nLkF1ZGl0TG9nUglhdWRpdExvZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQi7AMKGUxpc3RGZWF0dXJlSGlzdG9yeVJlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhsKCXBhZ2Vfc2l6ZRgCIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISUAoIb3JkZXJfYnkYBSABKA4yNS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmUKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI8LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgHIAEoCVINc2VhcmNoS2V5d29yZBISCgRmcm9tGAggASgDUgRmcm9tEg4KAnRvGAkgASgDUgJ0bxIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZCIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAFKBAgEEAUikgEKGkxpc3RGZWF0dXJlSGlzdG9yeVJlc3BvbnNlEjsKCmF1ZGl0X2xvZ3MYASADKAsyHC5idWNrZXRlZXIuYXVkaXRsb2cuQXVkaXRMb2dSCWF1ZGl0TG9ncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudDLnAgoPQXVkaXRMb2dTZXJ2aWNlEmYKDUxpc3RBdWRpdExvZ3MSKC5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEF1ZGl0TG9nc1JlcXVlc3QaKS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlIgASdQoSTGlzdEFkbWluQXVkaXRMb2dzEi0uYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QaLi5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEFkbWluQXVkaXRMb2dzUmVzcG9uc2UiABJ1ChJMaXN0RmVhdHVyZUhpc3RvcnkSLS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdBouLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXNwb25zZSIAQjJaMGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hdWRpdGxvZ2IGcHJvdG8z + auditlogDescriptor: CuQBChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJ2ChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWixnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi9hbnlwYqICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc2IGcHJvdG8zCoYECh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIjCgtEb3VibGVWYWx1ZRIUCgV2YWx1ZRgBIAEoAVIFdmFsdWUiIgoKRmxvYXRWYWx1ZRIUCgV2YWx1ZRgBIAEoAlIFdmFsdWUiIgoKSW50NjRWYWx1ZRIUCgV2YWx1ZRgBIAEoA1IFdmFsdWUiIwoLVUludDY0VmFsdWUSFAoFdmFsdWUYASABKARSBXZhbHVlIiIKCkludDMyVmFsdWUSFAoFdmFsdWUYASABKAVSBXZhbHVlIiMKC1VJbnQzMlZhbHVlEhQKBXZhbHVlGAEgASgNUgV2YWx1ZSIhCglCb29sVmFsdWUSFAoFdmFsdWUYASABKAhSBXZhbHVlIiMKC1N0cmluZ1ZhbHVlEhQKBXZhbHVlGAEgASgJUgV2YWx1ZSIiCgpCeXRlc1ZhbHVlEhQKBXZhbHVlGAEgASgMUgV2YWx1ZUKDAQoTY29tLmdvb2dsZS5wcm90b2J1ZkINV3JhcHBlcnNQcm90b1ABWjFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi90eXBlcy9rbm93bi93cmFwcGVyc3Bi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzMKxwMKGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSLaAgoGQ2xhdXNlEg4KAmlkGAEgASgJUgJpZBIcCglhdHRyaWJ1dGUYAiABKAlSCWF0dHJpYnV0ZRI+CghvcGVyYXRvchgDIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3ISFgoGdmFsdWVzGAQgAygJUgZ2YWx1ZXMiyQEKCE9wZXJhdG9yEgoKBkVRVUFMUxAAEgYKAklOEAESDQoJRU5EU19XSVRIEAISDwoLU1RBUlRTX1dJVEgQAxILCgdTRUdNRU5UEAQSCwoHR1JFQVRFUhAFEhQKEEdSRUFURVJfT1JfRVFVQUwQBhIICgRMRVNTEAcSEQoNTEVTU19PUl9FUVVBTBAIEgoKBkJFRk9SRRAJEgkKBUFGVEVSEAoSEAoMRkVBVFVSRV9GTEFHEAsSEwoPUEFSVElBTExZX01BVENIEAxCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2ZlYXR1cmViBnByb3RvMwq7BAoccHJvdG8vZmVhdHVyZS9zdHJhdGVneS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiLQoNRml4ZWRTdHJhdGVneRIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbiKiAQoPUm9sbG91dFN0cmF0ZWd5EkwKCnZhcmlhdGlvbnMYASADKAsyLC5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3kuVmFyaWF0aW9uUgp2YXJpYXRpb25zGkEKCVZhcmlhdGlvbhIcCgl2YXJpYXRpb24YASABKAlSCXZhcmlhdGlvbhIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCL4AQoIU3RyYXRlZ3kSNAoEdHlwZRgBIAEoDjIgLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5LlR5cGVSBHR5cGUSRwoOZml4ZWRfc3RyYXRlZ3kYAiABKAsyIC5idWNrZXRlZXIuZmVhdHVyZS5GaXhlZFN0cmF0ZWd5Ug1maXhlZFN0cmF0ZWd5Ek0KEHJvbGxvdXRfc3RyYXRlZ3kYAyABKAsyIi5idWNrZXRlZXIuZmVhdHVyZS5Sb2xsb3V0U3RyYXRlZ3lSD3JvbGxvdXRTdHJhdGVneSIeCgRUeXBlEgkKBUZJWEVEEAASCwoHUk9MTE9VVBABQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK6wIKGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGnByb3RvL2ZlYXR1cmUvY2xhdXNlLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvIoQBCgRSdWxlEg4KAmlkGAEgASgJUgJpZBI3CghzdHJhdGVneRgCIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5UghzdHJhdGVneRIzCgdjbGF1c2VzGAMgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgdjbGF1c2VzIkAKDVJ1bGVMaXN0VmFsdWUSLwoGdmFsdWVzGAEgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK7gEKGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSI8CgZUYXJnZXQSHAoJdmFyaWF0aW9uGAEgASgJUgl2YXJpYXRpb24SFAoFdXNlcnMYAiADKAlSBXVzZXJzIkQKD1RhcmdldExpc3RWYWx1ZRIxCgZ2YWx1ZXMYASADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSBnZhbHVlc0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCqICCh1wcm90by9mZWF0dXJlL3ZhcmlhdGlvbi5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUiZwoJVmFyaWF0aW9uEg4KAmlkGAEgASgJUgJpZBIUCgV2YWx1ZRgCIAEoCVIFdmFsdWUSEgoEbmFtZRgDIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24iSgoSVmFyaWF0aW9uTGlzdFZhbHVlEjQKBnZhbHVlcxgBIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK9AIKKnByb3RvL2ZlYXR1cmUvZmVhdHVyZV9sYXN0X3VzZWRfaW5mby5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUi9wEKE0ZlYXR1cmVMYXN0VXNlZEluZm8SHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhgKB3ZlcnNpb24YAiABKAVSB3ZlcnNpb24SIAoMbGFzdF91c2VkX2F0GAMgASgDUgpsYXN0VXNlZEF0Eh0KCmNyZWF0ZWRfYXQYBCABKANSCWNyZWF0ZWRBdBIyChVjbGllbnRfb2xkZXN0X3ZlcnNpb24YBSABKAlSE2NsaWVudE9sZGVzdFZlcnNpb24SMgoVY2xpZW50X2xhdGVzdF92ZXJzaW9uGAYgASgJUhNjbGllbnRMYXRlc3RWZXJzaW9uQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKlAIKIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvEhFidWNrZXRlZXIuZmVhdHVyZSJQCgxQcmVyZXF1aXNpdGUSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiUAoVUHJlcmVxdWlzaXRlTGlzdFZhbHVlEjcKBnZhbHVlcxgBIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIGdmFsdWVzQjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5A0KG3Byb3RvL2ZlYXR1cmUvZmVhdHVyZS5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxoacHJvdG8vZmVhdHVyZS90YXJnZXQucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGipwcm90by9mZWF0dXJlL2ZlYXR1cmVfbGFzdF91c2VkX2luZm8ucHJvdG8aIHByb3RvL2ZlYXR1cmUvcHJlcmVxdWlzaXRlLnByb3RvIp4ICgdGZWF0dXJlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdlbmFibGVkGAQgASgIUgdlbmFibGVkEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSOQoWZXZhbHVhdGlvbl91bmRlbGF5YWJsZRgGIAEoCEICGAFSFWV2YWx1YXRpb25VbmRlbGF5YWJsZRIQCgN0dGwYByABKAVSA3R0bBIYCgd2ZXJzaW9uGAggASgFUgd2ZXJzaW9uEh0KCmNyZWF0ZWRfYXQYCSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAogASgDUgl1cGRhdGVkQXQSPAoKdmFyaWF0aW9ucxgLIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIzCgd0YXJnZXRzGAwgAygLMhkuYnVja2V0ZWVyLmZlYXR1cmUuVGFyZ2V0Ugd0YXJnZXRzEi0KBXJ1bGVzGA0gAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSRgoQZGVmYXVsdF9zdHJhdGVneRgOIAEoCzIbLmJ1Y2tldGVlci5mZWF0dXJlLlN0cmF0ZWd5Ug9kZWZhdWx0U3RyYXRlZ3kSIwoNb2ZmX3ZhcmlhdGlvbhgPIAEoCVIMb2ZmVmFyaWF0aW9uEhIKBHRhZ3MYECADKAlSBHRhZ3MSTAoObGFzdF91c2VkX2luZm8YESABKAsyJi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlTGFzdFVzZWRJbmZvUgxsYXN0VXNlZEluZm8SHgoKbWFpbnRhaW5lchgSIAEoCVIKbWFpbnRhaW5lchJPCg52YXJpYXRpb25fdHlwZRgTIAEoDjIoLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmUuVmFyaWF0aW9uVHlwZVINdmFyaWF0aW9uVHlwZRIaCghhcmNoaXZlZBgUIAEoCFIIYXJjaGl2ZWQSRQoNcHJlcmVxdWlzaXRlcxgVIAMoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVINcHJlcmVxdWlzaXRlcxIjCg1zYW1wbGluZ19zZWVkGBYgASgJUgxzYW1wbGluZ1NlZWQSSgoPc2NoZWR1bGVfdXBkYXRlGBcgAygLMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2NoZWR1bGVVcGRhdGVSDnNjaGVkdWxlVXBkYXRlIj4KDVZhcmlhdGlvblR5cGUSCgoGU1RSSU5HEAASCwoHQk9PTEVBThABEgoKBk5VTUJFUhACEggKBEpTT04QAyJSCghGZWF0dXJlcxI2CghmZWF0dXJlcxgBIAMoCzIaLmJ1Y2tldGVlci5mZWF0dXJlLkZlYXR1cmVSCGZlYXR1cmVzEg4KAmlkGAIgASgJUgJpZCJzChJFbnZpcm9ubWVudEZlYXR1cmUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSNgoIZmVhdHVyZXMYAiADKAsyGi5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlUghmZWF0dXJlcyJnCgNUYWcSDgoCaWQYASABKAlSAmlkEh0KCmNyZWF0ZWRfYXQYAiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAMgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgEIAEoCVIEbmFtZSJjCg5TY2hlZHVsZVVwZGF0ZRI0CgdmZWF0dXJlGAEgASgLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIHZmVhdHVyZRIbCgl1cGRhdGVfYXQYAiABKANSCHVwZGF0ZUF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMKtQgKG3Byb3RvL2ZlYXR1cmUvc2VnbWVudC5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUaGHByb3RvL2ZlYXR1cmUvcnVsZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvIrQECgdTZWdtZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhItCgVydWxlcxgEIAMoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBXJ1bGVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHAoHdmVyc2lvbhgHIAEoA0ICGAFSB3ZlcnNpb24SGAoHZGVsZXRlZBgIIAEoCFIHZGVsZXRlZBIuChNpbmNsdWRlZF91c2VyX2NvdW50GAkgASgDUhFpbmNsdWRlZFVzZXJDb3VudBIyChNleGNsdWRlZF91c2VyX2NvdW50GAogASgDQgIYAVIRZXhjbHVkZWRVc2VyQ291bnQSOQoGc3RhdHVzGAsgASgOMiEuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudC5TdGF0dXNSBnN0YXR1cxInChBpc19pbl91c2Vfc3RhdHVzGAwgASgIUg1pc0luVXNlU3RhdHVzEjYKCGZlYXR1cmVzGA0gAygLMhouYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZVIIZmVhdHVyZXMiPgoGU3RhdHVzEgsKB0lOSVRJQUwQABINCglVUExPQURJTkcQARIMCghTVUNFRURFRBACEgoKBkZBSUxFRBADItQBCgtTZWdtZW50VXNlchIOCgJpZBgBIAEoCVICaWQSHQoKc2VnbWVudF9pZBgCIAEoCVIJc2VnbWVudElkEhcKB3VzZXJfaWQYAyABKAlSBnVzZXJJZBI6CgVzdGF0ZRgEIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZRIYCgdkZWxldGVkGAUgASgIUgdkZWxldGVkIicKBVN0YXRlEgwKCElOQ0xVREVEEAASEAoIRVhDTFVERUQQARoCCAEiggEKDFNlZ21lbnRVc2VycxIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSNAoFdXNlcnMYAiADKAsyHi5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlclIFdXNlcnMSHQoKdXBkYXRlZF9hdBgDIAEoA1IJdXBkYXRlZEF0QjFaL2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9mZWF0dXJlYgZwcm90bzMK5wMKI3Byb3RvL2Vudmlyb25tZW50L2Vudmlyb25tZW50LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQi6QIKDUVudmlyb25tZW50VjISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEh0KCnByb2plY3RfaWQYBSABKAlSCXByb2plY3RJZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSHQoKY3JlYXRlZF9hdBgHIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCCABKANSCXVwZGF0ZWRBdBInCg9vcmdhbml6YXRpb25faWQYCSABKAlSDm9yZ2FuaXphdGlvbklkEicKD3JlcXVpcmVfY29tbWVudBgKIAEoCFIOcmVxdWlyZUNvbW1lbnQSLAoSZmVhdHVyZV9mbGFnX2NvdW50GAsgASgFUhBmZWF0dXJlRmxhZ0NvdW50QjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCv0DCh9wcm90by9lbnZpcm9ubWVudC9wcm9qZWN0LnByb3RvEhVidWNrZXRlZXIuZW52aXJvbm1lbnQigwMKB1Byb2plY3QSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgDIAEoCFIIZGlzYWJsZWQSFAoFdHJpYWwYBCABKAhSBXRyaWFsEiMKDWNyZWF0b3JfZW1haWwYBSABKAlSDGNyZWF0b3JFbWFpbBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhIKBG5hbWUYCCABKAlSBG5hbWUSGQoIdXJsX2NvZGUYCSABKAlSB3VybENvZGUSJwoPb3JnYW5pemF0aW9uX2lkGAogASgJUg5vcmdhbml6YXRpb25JZBIrChFlbnZpcm9ubWVudF9jb3VudBgLIAEoBVIQZW52aXJvbm1lbnRDb3VudBIsChJmZWF0dXJlX2ZsYWdfY291bnQYDCABKAVSEGZlYXR1cmVGbGFnQ291bnRCNVozZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2Vudmlyb25tZW50YgZwcm90bzMKrwQKJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxIVYnVja2V0ZWVyLmVudmlyb25tZW50IrADCgxPcmdhbml6YXRpb24SDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSGQoIdXJsX2NvZGUYAyABKAlSB3VybENvZGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIaCghhcmNoaXZlZBgGIAEoCFIIYXJjaGl2ZWQSFAoFdHJpYWwYByABKAhSBXRyaWFsEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSIQoMc3lzdGVtX2FkbWluGAogASgIUgtzeXN0ZW1BZG1pbhIjCg1wcm9qZWN0X2NvdW50GAsgASgFUgxwcm9qZWN0Q291bnQSKwoRZW52aXJvbm1lbnRfY291bnQYDCABKAVSEGVudmlyb25tZW50Q291bnQSHQoKdXNlcl9jb3VudBgNIAEoBVIJdXNlckNvdW50Eh8KC293bmVyX2VtYWlsGA4gASgJUgpvd25lckVtYWlsQjVaM2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9lbnZpcm9ubWVudGIGcHJvdG8zCpADCiFwcm90by9hY2NvdW50L3NlYXJjaF9maWx0ZXIucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50IukBCgxTZWFyY2hGaWx0ZXISDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSFAoFcXVlcnkYAyABKAlSBXF1ZXJ5ElEKEmZpbHRlcl90YXJnZXRfdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSEGZpbHRlclRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBiABKAhSDWRlZmF1bHRGaWx0ZXIqMQoQRmlsdGVyVGFyZ2V0VHlwZRILCgdVTktOT1dOEAASEAoMRkVBVFVSRV9GTEFHEAFCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2FjY291bnRiBnByb3RvMwrUEwobcHJvdG8vYWNjb3VudC9hY2NvdW50LnByb3RvEhFidWNrZXRlZXIuYWNjb3VudBojcHJvdG8vZW52aXJvbm1lbnQvZW52aXJvbm1lbnQucHJvdG8aH3Byb3RvL2Vudmlyb25tZW50L3Byb2plY3QucHJvdG8aJHByb3RvL2Vudmlyb25tZW50L29yZ2FuaXphdGlvbi5wcm90bxohcHJvdG8vYWNjb3VudC9zZWFyY2hfZmlsdGVyLnByb3RvIqsCCgdBY2NvdW50Eg4KAmlkGAEgASgJUgJpZBIUCgVlbWFpbBgCIAEoCVIFZW1haWwSEgoEbmFtZRgDIAEoCVIEbmFtZRIzCgRyb2xlGAQgASgOMh8uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudC5Sb2xlUgRyb2xlEhoKCGRpc2FibGVkGAUgASgIUghkaXNhYmxlZBIdCgpjcmVhdGVkX2F0GAYgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgHIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCCABKAhSB2RlbGV0ZWQiOQoEUm9sZRIKCgZWSUVXRVIQABIKCgZFRElUT1IQARIJCgVPV05FUhACEg4KClVOQVNTSUdORUQQYzoCGAEivAgKCUFjY291bnRWMhIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIoChBhdmF0YXJfaW1hZ2VfdXJsGAMgASgJUg5hdmF0YXJJbWFnZVVybBInCg9vcmdhbml6YXRpb25faWQYBCABKAlSDm9yZ2FuaXphdGlvbklkElsKEW9yZ2FuaXphdGlvbl9yb2xlGAUgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlElkKEWVudmlyb25tZW50X3JvbGVzGAYgAygLMiwuYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxIaCghkaXNhYmxlZBgHIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgIIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYCSABKANSCXVwZGF0ZWRBdBJGCg5zZWFyY2hfZmlsdGVycxgKIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAsgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAwgASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgNIAEoCVIIbGFuZ3VhZ2USGwoJbGFzdF9zZWVuGA4gASgDUghsYXN0U2VlbhIoChBhdmF0YXJfZmlsZV90eXBlGA8gASgJUg5hdmF0YXJGaWxlVHlwZRIhCgxhdmF0YXJfaW1hZ2UYECABKAxSC2F2YXRhckltYWdlEisKEWVudmlyb25tZW50X2NvdW50GBEgASgFUhBlbnZpcm9ubWVudENvdW50EhIKBHRhZ3MYEiADKAlSBHRhZ3Ma1wEKBFJvbGUiWQoLRW52aXJvbm1lbnQSGgoWRW52aXJvbm1lbnRfVU5BU1NJR05FRBAAEhYKEkVudmlyb25tZW50X1ZJRVdFUhABEhYKEkVudmlyb25tZW50X0VESVRPUhACInQKDE9yZ2FuaXphdGlvbhIbChdPcmdhbml6YXRpb25fVU5BU1NJR05FRBAAEhcKE09yZ2FuaXphdGlvbl9NRU1CRVIQARIWChJPcmdhbml6YXRpb25fQURNSU4QAhIWChJPcmdhbml6YXRpb25fT1dORVIQAxp7Cg9FbnZpcm9ubWVudFJvbGUSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSQQoEcm9sZRgCIAEoDjItLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLkVudmlyb25tZW50UgRyb2xlIuoGCg5Db25zb2xlQWNjb3VudBIUCgVlbWFpbBgBIAEoCVIFZW1haWwSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgphdmF0YXJfdXJsGAMgASgJUglhdmF0YXJVcmwSJgoPaXNfc3lzdGVtX2FkbWluGAQgASgIUg1pc1N5c3RlbUFkbWluEkcKDG9yZ2FuaXphdGlvbhgFIAEoCzIjLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Pcmdhbml6YXRpb25SDG9yZ2FuaXphdGlvbhJbChFvcmdhbml6YXRpb25fcm9sZRgGIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJeChFlbnZpcm9ubWVudF9yb2xlcxgHIAMoCzIxLmJ1Y2tldGVlci5hY2NvdW50LkNvbnNvbGVBY2NvdW50LkVudmlyb25tZW50Um9sZVIQZW52aXJvbm1lbnRSb2xlcxJGCg5zZWFyY2hfZmlsdGVycxgIIAMoCzIfLmJ1Y2tldGVlci5hY2NvdW50LlNlYXJjaEZpbHRlclINc2VhcmNoRmlsdGVycxIdCgpmaXJzdF9uYW1lGAkgASgJUglmaXJzdE5hbWUSGwoJbGFzdF9uYW1lGAogASgJUghsYXN0TmFtZRIaCghsYW5ndWFnZRgLIAEoCVIIbGFuZ3VhZ2USKAoQYXZhdGFyX2ZpbGVfdHlwZRgMIAEoCVIOYXZhdGFyRmlsZVR5cGUSIQoMYXZhdGFyX2ltYWdlGA0gASgMUgthdmF0YXJJbWFnZRIbCglsYXN0X3NlZW4YDiABKANSCGxhc3RTZWVuGtYBCg9FbnZpcm9ubWVudFJvbGUSRgoLZW52aXJvbm1lbnQYASABKAsyJC5idWNrZXRlZXIuZW52aXJvbm1lbnQuRW52aXJvbm1lbnRWMlILZW52aXJvbm1lbnQSOAoHcHJvamVjdBgCIAEoCzIeLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5Qcm9qZWN0Ugdwcm9qZWN0EkEKBHJvbGUYAyABKA4yLS5idWNrZXRlZXIuYWNjb3VudC5BY2NvdW50VjIuUm9sZS5FbnZpcm9ubWVudFIEcm9sZUIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCuYGChtwcm90by9hY2NvdW50L2FwaV9rZXkucHJvdG8SEWJ1Y2tldGVlci5hY2NvdW50GiNwcm90by9lbnZpcm9ubWVudC9lbnZpcm9ubWVudC5wcm90byK7AwoGQVBJS2V5Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEjIKBHJvbGUYAyABKA4yHi5idWNrZXRlZXIuYWNjb3VudC5BUElLZXkuUm9sZVIEcm9sZRIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgFIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBiABKANSCXVwZGF0ZWRBdBIeCgptYWludGFpbmVyGAcgASgJUgptYWludGFpbmVyEhcKB2FwaV9rZXkYCCABKAlSBmFwaUtleRIgCgtkZXNjcmlwdGlvbhgJIAEoCVILZGVzY3JpcHRpb24SKQoQZW52aXJvbm1lbnRfbmFtZRgKIAEoCVIPZW52aXJvbm1lbnROYW1lInkKBFJvbGUSCwoHVU5LTk9XThAAEg4KClNES19DTElFTlQQARIOCgpTREtfU0VSVkVSEAISGAoUUFVCTElDX0FQSV9SRUFEX09OTFkQAxIUChBQVUJMSUNfQVBJX1dSSVRFEAQSFAoQUFVCTElDX0FQSV9BRE1JThAFIpUCChFFbnZpcm9ubWVudEFQSUtleRIyCgdhcGlfa2V5GAIgASgLMhkuYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5UgZhcGlLZXkSMQoUZW52aXJvbm1lbnRfZGlzYWJsZWQYAyABKAhSE2Vudmlyb25tZW50RGlzYWJsZWQSIQoKcHJvamVjdF9pZBgEIAEoCUICGAFSCXByb2plY3RJZBJGCgtlbnZpcm9ubWVudBgFIAEoCzIkLmJ1Y2tldGVlci5lbnZpcm9ubWVudC5FbnZpcm9ubWVudFYyUgtlbnZpcm9ubWVudBIoChBwcm9qZWN0X3VybF9jb2RlGAYgASgJUg5wcm9qZWN0VXJsQ29kZUoECAEQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYWNjb3VudGIGcHJvdG8zCpoLChpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90bxIRYnVja2V0ZWVyLmF1dG9vcHMaGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8ihgEKBkNsYXVzZRIOCgJpZBgBIAEoCVICaWQSLAoGY2xhdXNlGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIGY2xhdXNlEj4KC2FjdGlvbl90eXBlGAMgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSLfAgoST3BzRXZlbnRSYXRlQ2xhdXNlEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQSFwoHZ29hbF9pZBgDIAEoCVIGZ29hbElkEhsKCW1pbl9jb3VudBgEIAEoA1IIbWluQ291bnQSKQoQdGhyZWFkc2hvbGRfcmF0ZRgFIAEoAVIPdGhyZWFkc2hvbGRSYXRlEkoKCG9wZXJhdG9yGAYgASgOMi4uYnVja2V0ZWVyLmF1dG9vcHMuT3BzRXZlbnRSYXRlQ2xhdXNlLk9wZXJhdG9yUghvcGVyYXRvchI+CgthY3Rpb25fdHlwZRgHIAEoDjIdLmJ1Y2tldGVlci5hdXRvb3BzLkFjdGlvblR5cGVSCmFjdGlvblR5cGUiMwoIT3BlcmF0b3ISFAoQR1JFQVRFUl9PUl9FUVVBTBAAEhEKDUxFU1NfT1JfRVFVQUwQAUoECAEQAiJkCg5EYXRldGltZUNsYXVzZRISCgR0aW1lGAEgASgDUgR0aW1lEj4KC2FjdGlvbl90eXBlGAIgASgOMh0uYnVja2V0ZWVyLmF1dG9vcHMuQWN0aW9uVHlwZVIKYWN0aW9uVHlwZSKXAQoaUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGUSHwoLc2NoZWR1bGVfaWQYASABKAlSCnNjaGVkdWxlSWQSHQoKZXhlY3V0ZV9hdBgCIAEoA1IJZXhlY3V0ZUF0EhYKBndlaWdodBgDIAEoBVIGd2VpZ2h0EiEKDHRyaWdnZXJlZF9hdBgEIAEoA1ILdHJpZ2dlcmVkQXQimAEKJlByb2dyZXNzaXZlUm9sbG91dE1hbnVhbFNjaGVkdWxlQ2xhdXNlEksKCXNjaGVkdWxlcxgBIAMoCzItLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dFNjaGVkdWxlUglzY2hlZHVsZXMSIQoMdmFyaWF0aW9uX2lkGAIgASgJUgt2YXJpYXRpb25JZCLYAgooUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZRJLCglzY2hlZHVsZXMYASADKAsyLS5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXRTY2hlZHVsZVIJc2NoZWR1bGVzEmAKCGludGVydmFsGAIgASgOMkQuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0VGVtcGxhdGVTY2hlZHVsZUNsYXVzZS5JbnRlcnZhbFIIaW50ZXJ2YWwSHgoKaW5jcmVtZW50cxgDIAEoA1IKaW5jcmVtZW50cxIhCgx2YXJpYXRpb25faWQYBCABKAlSC3ZhcmlhdGlvbklkIjoKCEludGVydmFsEgsKB1VOS05PV04QABIKCgZIT1VSTFkQARIJCgVEQUlMWRACEgoKBldFRUtMWRADKjIKCkFjdGlvblR5cGUSCwoHVU5LTk9XThAAEgoKBkVOQUJMRRABEgsKB0RJU0FCTEUQAkIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCuAFCiFwcm90by9hdXRvb3BzL2F1dG9fb3BzX3J1bGUucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90byLzAgoLQXV0b09wc1J1bGUSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBI1CghvcHNfdHlwZRgDIAEoDjIaLmJ1Y2tldGVlci5hdXRvb3BzLk9wc1R5cGVSB29wc1R5cGUSMwoHY2xhdXNlcxgEIAMoCzIZLmJ1Y2tldGVlci5hdXRvb3BzLkNsYXVzZVIHY2xhdXNlcxIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYCSABKAhSB2RlbGV0ZWQSSAoPYXV0b19vcHNfc3RhdHVzGAogASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1INYXV0b09wc1N0YXR1cxIhCgxmZWF0dXJlX25hbWUYCyABKAlSC2ZlYXR1cmVOYW1lSgQIBhAHIlQKDEF1dG9PcHNSdWxlcxJECg5hdXRvX29wc19ydWxlcxgBIAMoCzIeLmJ1Y2tldGVlci5hdXRvb3BzLkF1dG9PcHNSdWxlUgxhdXRvT3BzUnVsZXMqPwoHT3BzVHlwZRIQCgxUWVBFX1VOS05PV04QABIMCghTQ0hFRFVMRRACEg4KCkVWRU5UX1JBVEUQAyIECAEQASpECg1BdXRvT3BzU3RhdHVzEgsKB1dBSVRJTkcQABILCgdSVU5OSU5HEAESDAoIRklOSVNIRUQQAhILCgdTVE9QUEVEEANCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1dG9vcHNiBnByb3RvMwrwAwoicHJvdG8vbm90aWZpY2F0aW9uL3JlY2lwaWVudC5wcm90bxIWYnVja2V0ZWVyLm5vdGlmaWNhdGlvbiK3AgoJUmVjaXBpZW50EjoKBHR5cGUYASABKA4yJi5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudC5UeXBlUgR0eXBlEmUKF3NsYWNrX2NoYW5uZWxfcmVjaXBpZW50GAIgASgLMi0uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TbGFja0NoYW5uZWxSZWNpcGllbnRSFXNsYWNrQ2hhbm5lbFJlY2lwaWVudBJGCghsYW5ndWFnZRgDIAEoDjIqLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uUmVjaXBpZW50Lkxhbmd1YWdlUghsYW5ndWFnZSIYCgRUeXBlEhAKDFNsYWNrQ2hhbm5lbBAAIiUKCExhbmd1YWdlEgsKB0VOR0xJU0gQABIMCghKQVBBTkVTRRABIjgKFVNsYWNrQ2hhbm5lbFJlY2lwaWVudBIfCgt3ZWJob29rX3VybBgBIAEoCVIKd2ViaG9va1VybEI2WjRnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vbm90aWZpY2F0aW9uYgZwcm90bzMKqwkKJXByb3RvL25vdGlmaWNhdGlvbi9zdWJzY3JpcHRpb24ucHJvdG8SFmJ1Y2tldGVlci5ub3RpZmljYXRpb24aInByb3RvL25vdGlmaWNhdGlvbi9yZWNpcGllbnQucHJvdG8ihQgKDFN1YnNjcmlwdGlvbhIOCgJpZBgBIAEoCVICaWQSHQoKY3JlYXRlZF9hdBgCIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYAyABKANSCXVwZGF0ZWRBdBIaCghkaXNhYmxlZBgEIAEoCFIIZGlzYWJsZWQSUgoMc291cmNlX3R5cGVzGAUgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSPwoJcmVjaXBpZW50GAYgASgLMiEuYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5SZWNpcGllbnRSCXJlY2lwaWVudBISCgRuYW1lGAcgASgJUgRuYW1lEiUKDmVudmlyb25tZW50X2lkGAggASgJUg1lbnZpcm9ubWVudElkEikKEGVudmlyb25tZW50X25hbWUYCSABKAlSD2Vudmlyb25tZW50TmFtZRIqChFmZWF0dXJlX2ZsYWdfdGFncxgKIAMoCVIPZmVhdHVyZUZsYWdUYWdzIuMECgpTb3VyY2VUeXBlEhgKFERPTUFJTl9FVkVOVF9GRUFUVVJFEAASFQoRRE9NQUlOX0VWRU5UX0dPQUwQARIbChdET01BSU5fRVZFTlRfRVhQRVJJTUVOVBACEhgKFERPTUFJTl9FVkVOVF9BQ0NPVU5UEAMSFwoTRE9NQUlOX0VWRU5UX0FQSUtFWRAEEhgKFERPTUFJTl9FVkVOVF9TRUdNRU5UEAUSHAoYRE9NQUlOX0VWRU5UX0VOVklST05NRU5UEAYSHgoaRE9NQUlOX0VWRU5UX0FETUlOX0FDQ09VTlQQBxIdChlET01BSU5fRVZFTlRfQVVUT09QU19SVUxFEAgSFQoRRE9NQUlOX0VWRU5UX1BVU0gQCRIdChlET01BSU5fRVZFTlRfU1VCU0NSSVBUSU9OEAoSIwofRE9NQUlOX0VWRU5UX0FETUlOX1NVQlNDUklQVElPThALEhgKFERPTUFJTl9FVkVOVF9QUk9KRUNUEAwSGAoURE9NQUlOX0VWRU5UX1dFQkhPT0sQDRIkCiBET01BSU5fRVZFTlRfUFJPR1JFU1NJVkVfUk9MTE9VVBAOEh0KGURPTUFJTl9FVkVOVF9PUkdBTklaQVRJT04QDxIdChlET01BSU5fRVZFTlRfRkxBR19UUklHR0VSEBASFAoQRE9NQUlOX0VWRU5UX1RBRxAREhgKFERPTUFJTl9FVkVOVF9DT0RFUkVGEBISEQoNRkVBVFVSRV9TVEFMRRBkEhcKEkVYUEVSSU1FTlRfUlVOTklORxDIARIOCglNQVVfQ09VTlQQrAJCNlo0Z2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL25vdGlmaWNhdGlvbmIGcHJvdG8zCvcFCidwcm90by9hdXRvb3BzL3Byb2dyZXNzaXZlX3JvbGxvdXQucHJvdG8SEWJ1Y2tldGVlci5hdXRvb3BzGhlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvIuIEChJQcm9ncmVzc2l2ZVJvbGxvdXQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USRAoGc3RhdHVzGAQgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSPgoEdHlwZRgHIAEoDjIqLmJ1Y2tldGVlci5hdXRvb3BzLlByb2dyZXNzaXZlUm9sbG91dC5UeXBlUgR0eXBlEk4KCnN0b3BwZWRfYnkYCCABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0IjIKBFR5cGUSEwoPTUFOVUFMX1NDSEVEVUxFEAASFQoRVEVNUExBVEVfU0NIRURVTEUQASI9CgZTdGF0dXMSCwoHV0FJVElORxAAEgsKB1JVTk5JTkcQARIMCghGSU5JU0hFRBACEgsKB1NUT1BQRUQQAyJJCglTdG9wcGVkQnkSCwoHVU5LTk9XThAAEggKBFVTRVIQARIQCgxPUFNfU0NIRURVTEUQAhITCg9PUFNfS0lMTF9TV0lUQ0gQA0IxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vYXV0b29wc2IGcHJvdG8zCqAFCiBwcm90by9mZWF0dXJlL2ZsYWdfdHJpZ2dlci5wcm90bxIRYnVja2V0ZWVyLmZlYXR1cmUirQQKC0ZsYWdUcmlnZ2VyEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEiMKDXRyaWdnZXJfY291bnQYByABKAVSDHRyaWdnZXJDb3VudBIqChFsYXN0X3RyaWdnZXJlZF9hdBgIIAEoA1IPbGFzdFRyaWdnZXJlZEF0EhQKBXRva2VuGAkgASgJUgV0b2tlbhIaCghkaXNhYmxlZBgKIAEoCFIIZGlzYWJsZWQSHQoKY3JlYXRlZF9hdBgLIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYDCABKANSCXVwZGF0ZWRBdBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCIqCgRUeXBlEhAKDFR5cGVfVU5LTk9XThAAEhAKDFR5cGVfV0VCSE9PSxABIjsKBkFjdGlvbhISCg5BY3Rpb25fVU5LTk9XThAAEg0KCUFjdGlvbl9PThABEg4KCkFjdGlvbl9PRkYQAkoECAMQBEIxWi9naXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZmVhdHVyZWIGcHJvdG8zCvYDChNwcm90by90YWcvdGFnLnByb3RvEg1idWNrZXRlZXIudGFnIrcCCgNUYWcSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUSHQoKY3JlYXRlZF9hdBgDIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBCABKANSCXVwZGF0ZWRBdBI+CgtlbnRpdHlfdHlwZRgFIAEoDjIdLmJ1Y2tldGVlci50YWcuVGFnLkVudGl0eVR5cGVSCmVudGl0eVR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWQSKQoQZW52aXJvbm1lbnRfbmFtZRgHIAEoCVIPZW52aXJvbm1lbnROYW1lIjwKCkVudGl0eVR5cGUSDwoLVU5TUEVDSUZJRUQQABIQCgxGRUFUVVJFX0ZMQUcQARILCgdBQ0NPVU5UEAIiXwoORW52aXJvbm1lbnRUYWcSJQoOZW52aXJvbm1lbnRfaWQYASABKAlSDWVudmlyb25tZW50SWQSJgoEdGFncxgCIAMoCzISLmJ1Y2tldGVlci50YWcuVGFnUgR0YWdzQi1aK2dpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by90YWdiBnByb3RvMwq3CAohcHJvdG8vZXhwZXJpbWVudC9leHBlcmltZW50LnByb3RvEhRidWNrZXRlZXIuZXhwZXJpbWVudBodcHJvdG8vZmVhdHVyZS92YXJpYXRpb24ucHJvdG8iywYKCkV4cGVyaW1lbnQSDgoCaWQYASABKAlSAmlkEhsKB2dvYWxfaWQYAiABKAlCAhgBUgZnb2FsSWQSHQoKZmVhdHVyZV9pZBgDIAEoCVIJZmVhdHVyZUlkEicKD2ZlYXR1cmVfdmVyc2lvbhgEIAEoBVIOZmVhdHVyZVZlcnNpb24SPAoKdmFyaWF0aW9ucxgFIAMoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIKdmFyaWF0aW9ucxIZCghzdGFydF9hdBgGIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAcgASgDUgZzdG9wQXQSHAoHc3RvcHBlZBgIIAEoCEICGAFSB3N0b3BwZWQSIQoKc3RvcHBlZF9hdBgJIAEoA0ICMAFSCXN0b3BwZWRBdBIdCgpjcmVhdGVkX2F0GAogASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgLIAEoA1IJdXBkYXRlZEF0EhgKB2RlbGV0ZWQYDCABKAhSB2RlbGV0ZWQSGQoIZ29hbF9pZHMYDSADKAlSB2dvYWxJZHMSEgoEbmFtZRgOIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgPIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYECABKAlSD2Jhc2VWYXJpYXRpb25JZBI/CgZzdGF0dXMYEiABKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IGc3RhdHVzEh4KCm1haW50YWluZXIYEyABKAlSCm1haW50YWluZXISGgoIYXJjaGl2ZWQYFCABKAhSCGFyY2hpdmVkEkQKBWdvYWxzGBUgAygLMi4uYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5Hb2FsUmVmZXJlbmNlUgVnb2FscxozCg1Hb2FsUmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIkIKBlN0YXR1cxILCgdXQUlUSU5HEAASCwoHUlVOTklORxABEgsKB1NUT1BQRUQQAhIRCg1GT1JDRV9TVE9QUEVEEANKBAgREBIiUQoLRXhwZXJpbWVudHMSQgoLZXhwZXJpbWVudHMYASADKAsyIC5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50UgtleHBlcmltZW50c0I0WjJnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXhwZXJpbWVudGIGcHJvdG8zCtIIChtwcm90by9leHBlcmltZW50L2dvYWwucHJvdG8SFGJ1Y2tldGVlci5leHBlcmltZW50GiFwcm90by9leHBlcmltZW50L2V4cGVyaW1lbnQucHJvdG8aIXByb3RvL2F1dG9vcHMvYXV0b19vcHNfcnVsZS5wcm90byKYBwoER29hbBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SGAoHZGVsZXRlZBgEIAEoCFIHZGVsZXRlZBIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0EicKEGlzX2luX3VzZV9zdGF0dXMYByABKAhSDWlzSW5Vc2VTdGF0dXMSGgoIYXJjaGl2ZWQYCCABKAhSCGFyY2hpdmVkElIKD2Nvbm5lY3Rpb25fdHlwZRgJIAEoDjIpLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWwuQ29ubmVjdGlvblR5cGVSDmNvbm5lY3Rpb25UeXBlElAKC2V4cGVyaW1lbnRzGAogAygLMi4uYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5FeHBlcmltZW50UmVmZXJlbmNlUgtleHBlcmltZW50cxJVCg5hdXRvX29wc19ydWxlcxgLIAMoCzIvLmJ1Y2tldGVlci5leHBlcmltZW50LkdvYWwuQXV0b09wc1J1bGVSZWZlcmVuY2VSDGF1dG9PcHNSdWxlcxq8AQoTRXhwZXJpbWVudFJlZmVyZW5jZRIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpmZWF0dXJlX2lkGAMgASgJUglmZWF0dXJlSWQSIQoMZmVhdHVyZV9uYW1lGAQgASgJUgtmZWF0dXJlTmFtZRI/CgZzdGF0dXMYBSABKA4yJy5idWNrZXRlZXIuZXhwZXJpbWVudC5FeHBlcmltZW50LlN0YXR1c1IGc3RhdHVzGrIBChRBdXRvT3BzUnVsZVJlZmVyZW5jZRIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEiEKDGZlYXR1cmVfbmFtZRgDIAEoCVILZmVhdHVyZU5hbWUSSAoPYXV0b19vcHNfc3RhdHVzGAQgASgOMiAuYnVja2V0ZWVyLmF1dG9vcHMuQXV0b09wc1N0YXR1c1INYXV0b09wc1N0YXR1cyI8Cg5Db25uZWN0aW9uVHlwZRILCgdVTktOT1dOEAASDgoKRVhQRVJJTUVOVBABEg0KCU9QRVJBVElPThACQjRaMmdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9leHBlcmltZW50YgZwcm90bzMK/QYKInByb3RvL2NvZGVyZWYvY29kZV9yZWZlcmVuY2UucHJvdG8SEWJ1Y2tldGVlci5jb2RlcmVmIogGCg1Db2RlUmVmZXJlbmNlEg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSGwoJZmlsZV9wYXRoGAMgASgJUghmaWxlUGF0aBIfCgtsaW5lX251bWJlchgEIAEoBVIKbGluZU51bWJlchIhCgxjb2RlX3NuaXBwZXQYBSABKAlSC2NvZGVTbmlwcGV0EiEKDGNvbnRlbnRfaGFzaBgGIAEoCVILY29udGVudEhhc2gSGAoHYWxpYXNlcxgHIAMoCVIHYWxpYXNlcxInCg9yZXBvc2l0b3J5X25hbWUYCCABKAlSDnJlcG9zaXRvcnlOYW1lEikKEHJlcG9zaXRvcnlfb3duZXIYCSABKAlSD3JlcG9zaXRvcnlPd25lchJYCg9yZXBvc2l0b3J5X3R5cGUYCiABKA4yLy5idWNrZXRlZXIuY29kZXJlZi5Db2RlUmVmZXJlbmNlLlJlcG9zaXRvcnlUeXBlUg5yZXBvc2l0b3J5VHlwZRIrChFyZXBvc2l0b3J5X2JyYW5jaBgLIAEoCVIQcmVwb3NpdG9yeUJyYW5jaBIfCgtjb21taXRfaGFzaBgMIAEoCVIKY29tbWl0SGFzaBIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZBIdCgpjcmVhdGVkX2F0GA4gASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgPIAEoA1IJdXBkYXRlZEF0Eh0KCnNvdXJjZV91cmwYECABKAlSCXNvdXJjZVVybBIdCgpicmFuY2hfdXJsGBEgASgJUglicmFuY2hVcmwSJQoOZmlsZV9leHRlbnNpb24YEiABKAlSDWZpbGVFeHRlbnNpb24iZAoOUmVwb3NpdG9yeVR5cGUSHwobUkVQT1NJVE9SWV9UWVBFX1VOU1BFQ0lGSUVEEAASCgoGR0lUSFVCEAESCgoGR0lUTEFCEAISDQoJQklUQlVDS0VUEAMSCgoGQ1VTVE9NEARCMVovZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2NvZGVyZWZiBnByb3RvMwr52gEKHnByb3RvL2V2ZW50L2RvbWFpbi9ldmVudC5wcm90bxIWYnVja2V0ZWVyLmV2ZW50LmRvbWFpbhoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGhpwcm90by9mZWF0dXJlL2NsYXVzZS5wcm90bxobcHJvdG8vZmVhdHVyZS9mZWF0dXJlLnByb3RvGhhwcm90by9mZWF0dXJlL3J1bGUucHJvdG8aHXByb3RvL2ZlYXR1cmUvdmFyaWF0aW9uLnByb3RvGhxwcm90by9mZWF0dXJlL3N0cmF0ZWd5LnByb3RvGhtwcm90by9mZWF0dXJlL3NlZ21lbnQucHJvdG8aGnByb3RvL2ZlYXR1cmUvdGFyZ2V0LnByb3RvGhtwcm90by9hY2NvdW50L2FjY291bnQucHJvdG8aG3Byb3RvL2FjY291bnQvYXBpX2tleS5wcm90bxohcHJvdG8vYXV0b29wcy9hdXRvX29wc19ydWxlLnByb3RvGhpwcm90by9hdXRvb3BzL2NsYXVzZS5wcm90bxolcHJvdG8vbm90aWZpY2F0aW9uL3N1YnNjcmlwdGlvbi5wcm90bxoicHJvdG8vbm90aWZpY2F0aW9uL3JlY2lwaWVudC5wcm90bxogcHJvdG8vZmVhdHVyZS9wcmVyZXF1aXNpdGUucHJvdG8aJ3Byb3RvL2F1dG9vcHMvcHJvZ3Jlc3NpdmVfcm9sbG91dC5wcm90bxogcHJvdG8vZmVhdHVyZS9mbGFnX3RyaWdnZXIucHJvdG8aIXByb3RvL2FjY291bnQvc2VhcmNoX2ZpbHRlci5wcm90bxoTcHJvdG8vdGFnL3RhZy5wcm90bxobcHJvdG8vZXhwZXJpbWVudC9nb2FsLnByb3RvGiFwcm90by9leHBlcmltZW50L2V4cGVyaW1lbnQucHJvdG8aInByb3RvL2NvZGVyZWYvY29kZV9yZWZlcmVuY2UucHJvdG8ivDAKBUV2ZW50Eg4KAmlkGAEgASgJUgJpZBIcCgl0aW1lc3RhbXAYAiABKANSCXRpbWVzdGFtcBJJCgtlbnRpdHlfdHlwZRgDIAEoDjIoLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRXZlbnQuRW50aXR5VHlwZVIKZW50aXR5VHlwZRIbCgllbnRpdHlfaWQYBCABKAlSCGVudGl0eUlkEjYKBHR5cGUYBSABKA4yIi5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LlR5cGVSBHR5cGUSNgoGZWRpdG9yGAYgASgLMh4uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FZGl0b3JSBmVkaXRvchIoCgRkYXRhGAcgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIEZGF0YRIkCg5pc19hZG1pbl9ldmVudBgJIAEoCFIMaXNBZG1pbkV2ZW50EjkKB29wdGlvbnMYCiABKAsyHy5idWNrZXRlZXIuZXZlbnQuZG9tYWluLk9wdGlvbnNSB29wdGlvbnMSHwoLZW50aXR5X2RhdGEYCyABKAlSCmVudGl0eURhdGESMAoUcHJldmlvdXNfZW50aXR5X2RhdGEYDCABKAlSEnByZXZpb3VzRW50aXR5RGF0YRIlCg5lbnZpcm9ubWVudF9pZBgNIAEoCVINZW52aXJvbm1lbnRJZCKpAgoKRW50aXR5VHlwZRILCgdGRUFUVVJFEAASCAoER09BTBABEg4KCkVYUEVSSU1FTlQQAhILCgdBQ0NPVU5UEAMSCgoGQVBJS0VZEAQSCwoHU0VHTUVOVBAFEg8KC0VOVklST05NRU5UEAYSEQoNQURNSU5fQUNDT1VOVBAHEhAKDEFVVE9PUFNfUlVMRRAIEggKBFBVU0gQCRIQCgxTVUJTQ1JJUFRJT04QChIWChJBRE1JTl9TVUJTQ1JJUFRJT04QCxILCgdQUk9KRUNUEAwSFwoTUFJPR1JFU1NJVkVfUk9MTE9VVBAOEhAKDE9SR0FOSVpBVElPThAPEhAKDEZMQUdfVFJJR0dFUhAQEgcKA1RBRxAREgsKB0NPREVSRUYQEiIECA0QDSL1KQoEVHlwZRILCgdVTktOT1dOEAASEwoPRkVBVFVSRV9DUkVBVEVEEAESEwoPRkVBVFVSRV9SRU5BTUVEEAISEwoPRkVBVFVSRV9FTkFCTEVEEAMSFAoQRkVBVFVSRV9ESVNBQkxFRBAEEhMKD0ZFQVRVUkVfREVMRVRFRBAFEh8KG0ZFQVRVUkVfREVTQ1JJUFRJT05fQ0hBTkdFRBAIEhsKF0ZFQVRVUkVfVkFSSUFUSU9OX0FEREVEEAkSHQoZRkVBVFVSRV9WQVJJQVRJT05fUkVNT1ZFRBAKEiEKHUZFQVRVUkVfT0ZGX1ZBUklBVElPTl9DSEFOR0VEEAsSGwoXVkFSSUFUSU9OX1ZBTFVFX0NIQU5HRUQQDBIaChZWQVJJQVRJT05fTkFNRV9DSEFOR0VEEA0SIQodVkFSSUFUSU9OX0RFU0NSSVBUSU9OX0NIQU5HRUQQDhIYChRWQVJJQVRJT05fVVNFUl9BRERFRBAPEhoKFlZBUklBVElPTl9VU0VSX1JFTU9WRUQQEBIWChJGRUFUVVJFX1JVTEVfQURERUQQERIhCh1GRUFUVVJFX1JVTEVfU1RSQVRFR1lfQ0hBTkdFRBASEhgKFEZFQVRVUkVfUlVMRV9ERUxFVEVEEBMSFQoRUlVMRV9DTEFVU0VfQURERUQQFBIXChNSVUxFX0NMQVVTRV9ERUxFVEVEEBUSHwobUlVMRV9GSVhFRF9TVFJBVEVHWV9DSEFOR0VEEBYSIQodUlVMRV9ST0xMT1VUX1NUUkFURUdZX0NIQU5HRUQQFxIcChhDTEFVU0VfQVRUUklCVVRFX0NIQU5HRUQQGBIbChdDTEFVU0VfT1BFUkFUT1JfQ0hBTkdFRBAZEhYKEkNMQVVTRV9WQUxVRV9BRERFRBAaEhgKFENMQVVTRV9WQUxVRV9SRU1PVkVEEBsSJAogRkVBVFVSRV9ERUZBVUxUX1NUUkFURUdZX0NIQU5HRUQQHBIVChFGRUFUVVJFX1RBR19BRERFRBAdEhcKE0ZFQVRVUkVfVEFHX1JFTU9WRUQQHhIfChtGRUFUVVJFX1ZFUlNJT05fSU5DUkVNRU5URUQQHxIUChBGRUFUVVJFX0FSQ0hJVkVEECASEgoORkVBVFVSRV9DTE9ORUQQIRIWChJGRUFUVVJFX1VOQVJDSElWRUQQIxIXChNTQU1QTElOR19TRUVEX1JFU0VUECISFgoSUFJFUkVRVUlTSVRFX0FEREVEECQSGAoUUFJFUkVRVUlTSVRFX1JFTU9WRUQQJRIiCh5QUkVSRVFVSVNJVEVfVkFSSUFUSU9OX0NIQU5HRUQQJhIfChtGRUFUVVJFX1JVTEVTX09SREVSX0NIQU5HRUQQJxITCg9GRUFUVVJFX1VQREFURUQQKBIQCgxHT0FMX0NSRUFURUQQZBIQCgxHT0FMX1JFTkFNRUQQZRIcChhHT0FMX0RFU0NSSVBUSU9OX0NIQU5HRUQQZhIQCgxHT0FMX0RFTEVURUQQZxIRCg1HT0FMX0FSQ0hJVkVEEGgSEAoMR09BTF9VUERBVEVEEGkSFwoSRVhQRVJJTUVOVF9DUkVBVEVEEMgBEhcKEkVYUEVSSU1FTlRfU1RPUFBFRBDJARIgChtFWFBFUklNRU5UX1NUQVJUX0FUX0NIQU5HRUQQygESHwoaRVhQRVJJTUVOVF9TVE9QX0FUX0NIQU5HRUQQywESFwoSRVhQRVJJTUVOVF9ERUxFVEVEEMwBEh4KGUVYUEVSSU1FTlRfUEVSSU9EX0NIQU5HRUQQzQESHAoXRVhQRVJJTUVOVF9OQU1FX0NIQU5HRUQQzgESIwoeRVhQRVJJTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEEM8BEhcKEkVYUEVSSU1FTlRfU1RBUlRFRBDQARIYChNFWFBFUklNRU5UX0ZJTklTSEVEENEBEhgKE0VYUEVSSU1FTlRfQVJDSElWRUQQ0gESFwoSRVhQRVJJTUVOVF9VUERBVEVEENMBEhgKD0FDQ09VTlRfQ1JFQVRFRBCsAhoCCAESHQoUQUNDT1VOVF9ST0xFX0NIQU5HRUQQrQIaAggBEhgKD0FDQ09VTlRfRU5BQkxFRBCuAhoCCAESGQoQQUNDT1VOVF9ESVNBQkxFRBCvAhoCCAESGAoPQUNDT1VOVF9ERUxFVEVEELACGgIIARIXChJBQ0NPVU5UX1YyX0NSRUFURUQQsQISHAoXQUNDT1VOVF9WMl9OQU1FX0NIQU5HRUQQsgISKAojQUNDT1VOVF9WMl9BVkFUQVJfSU1BR0VfVVJMX0NIQU5HRUQQswISKQokQUNDT1VOVF9WMl9PUkdBTklaQVRJT05fUk9MRV9DSEFOR0VEELQCEikKJEFDQ09VTlRfVjJfRU5WSVJPTk1FTlRfUk9MRVNfQ0hBTkdFRBC1AhIXChJBQ0NPVU5UX1YyX0VOQUJMRUQQtgISGAoTQUNDT1VOVF9WMl9ESVNBQkxFRBC3AhIXChJBQ0NPVU5UX1YyX0RFTEVURUQQuAISJQogQUNDT1VOVF9WMl9DUkVBVEVEX1NFQVJDSF9GSUxURVIQuQISKgolQUNDT1VOVF9WMl9TRUFSQ0hfRklMVEVSX05BTkVfQ0hBTkdFRBC6AhIrCiZBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfUVVFUllfQ0hBTkdFRBC7AhItCihBQ0NPVU5UX1YyX1NFQVJDSF9GSUxURVJfREVGQVVMVF9DSEFOR0VEELwCEiUKIEFDQ09VTlRfVjJfU0VBUkNIX0ZJTFRFUl9ERUxFVEVEEL0CEiIKHUFDQ09VTlRfVjJfRklSU1RfTkFNRV9DSEFOR0VEEL4CEiEKHEFDQ09VTlRfVjJfTEFTVF9OQU1FX0NIQU5HRUQQvwISIAobQUNDT1VOVF9WMl9MQU5HVUFHRV9DSEFOR0VEEMACEhcKEkFDQ09VTlRfVjJfVVBEQVRFRBDBAhIcChdBQ0NPVU5UX1YyX1RBR1NfQ0hBTkdFRBDCAhITCg5BUElLRVlfQ1JFQVRFRBCQAxIYChNBUElLRVlfTkFNRV9DSEFOR0VEEJEDEhMKDkFQSUtFWV9FTkFCTEVEEJIDEhQKD0FQSUtFWV9ESVNBQkxFRBCTAxITCg5BUElLRVlfQ0hBTkdFRBCUAxIUCg9TRUdNRU5UX0NSRUFURUQQ9AMSFAoPU0VHTUVOVF9ERUxFVEVEEPUDEhkKFFNFR01FTlRfTkFNRV9DSEFOR0VEEPYDEiAKG1NFR01FTlRfREVTQ1JJUFRJT05fQ0hBTkdFRBD3AxIXChJTRUdNRU5UX1JVTEVfQURERUQQ+AMSGQoUU0VHTUVOVF9SVUxFX0RFTEVURUQQ+QMSHgoZU0VHTUVOVF9SVUxFX0NMQVVTRV9BRERFRBD6AxIgChtTRUdNRU5UX1JVTEVfQ0xBVVNFX0RFTEVURUQQ+wMSJQogU0VHTUVOVF9DTEFVU0VfQVRUUklCVVRFX0NIQU5HRUQQ/AMSJAofU0VHTUVOVF9DTEFVU0VfT1BFUkFUT1JfQ0hBTkdFRBD9AxIfChpTRUdNRU5UX0NMQVVTRV9WQUxVRV9BRERFRBD+AxIhChxTRUdNRU5UX0NMQVVTRV9WQUxVRV9SRU1PVkVEEP8DEhcKElNFR01FTlRfVVNFUl9BRERFRBCABBIZChRTRUdNRU5UX1VTRVJfREVMRVRFRBCBBBIeChlTRUdNRU5UX0JVTEtfVVBMT0FEX1VTRVJTEIIEEi0KKFNFR01FTlRfQlVMS19VUExPQURfVVNFUlNfU1RBVFVTX0NIQU5HRUQQgwQSFAoPU0VHTUVOVF9VUERBVEVEEIQEEhgKE0VOVklST05NRU5UX0NSRUFURUQQ2AQSGAoTRU5WSVJPTk1FTlRfUkVOQU1FRBDZBBIkCh9FTlZJUk9OTUVOVF9ERVNDUklQVElPTl9DSEFOR0VEENoEEhgKE0VOVklST05NRU5UX0RFTEVURUQQ2wQSGwoWRU5WSVJPTk1FTlRfVjJfQ1JFQVRFRBDcBBIbChZFTlZJUk9OTUVOVF9WMl9SRU5BTUVEEN0EEicKIkVOVklST05NRU5UX1YyX0RFU0NSSVBUSU9OX0NIQU5HRUQQ3gQSHAoXRU5WSVJPTk1FTlRfVjJfQVJDSElWRUQQ3wQSHgoZRU5WSVJPTk1FTlRfVjJfVU5BUkNISVZFRBDgBBIrCiZFTlZJUk9OTUVOVF9WMl9SRVFVSVJFX0NPTU1FTlRfQ0hBTkdFRBDhBBIeChVBRE1JTl9BQ0NPVU5UX0NSRUFURUQQvAUaAggBEh4KFUFETUlOX0FDQ09VTlRfRU5BQkxFRBC+BRoCCAESHwoWQURNSU5fQUNDT1VOVF9ESVNBQkxFRBC/BRoCCAESGQoUQVVUT09QU19SVUxFX0NSRUFURUQQoAYSGQoUQVVUT09QU19SVUxFX0RFTEVURUQQoQYSIgodQVVUT09QU19SVUxFX09QU19UWVBFX0NIQU5HRUQQogYSIAobQVVUT09QU19SVUxFX0NMQVVTRV9ERUxFVEVEEKMGEioKIUFVVE9PUFNfUlVMRV9UUklHR0VSRURfQVRfQ0hBTkdFRBCkBhoCCAESIAobT1BTX0VWRU5UX1JBVEVfQ0xBVVNFX0FEREVEEKUGEiIKHU9QU19FVkVOVF9SQVRFX0NMQVVTRV9DSEFOR0VEEKYGEhoKFURBVEVUSU1FX0NMQVVTRV9BRERFRBCnBhIcChdEQVRFVElNRV9DTEFVU0VfQ0hBTkdFRBCoBhIZChRBVVRPT1BTX1JVTEVfU1RPUFBFRBCpBhIkCh9BVVRPT1BTX1JVTEVfT1BTX1NUQVRVU19DSEFOR0VEEKoGEhEKDFBVU0hfQ1JFQVRFRBCEBxIRCgxQVVNIX0RFTEVURUQQhQcSFAoPUFVTSF9UQUdTX0FEREVEEIYHEhYKEVBVU0hfVEFHU19ERUxFVEVEEIcHEhEKDFBVU0hfUkVOQU1FRBCIBxIRCgxQVVNIX1VQREFURUQQiQcSGQoUU1VCU0NSSVBUSU9OX0NSRUFURUQQ6AcSGQoUU1VCU0NSSVBUSU9OX0RFTEVURUQQ6QcSGQoUU1VCU0NSSVBUSU9OX0VOQUJMRUQQ6gcSGgoVU1VCU0NSSVBUSU9OX0RJU0FCTEVEEOsHEiMKHlNVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9BRERFRBDsBxIlCiBTVUJTQ1JJUFRJT05fU09VUkNFX1RZUEVfREVMRVRFRBDtBxIZChRTVUJTQ1JJUFRJT05fUkVOQU1FRBDuBxIZChRTVUJTQ1JJUFRJT05fVVBEQVRFRBDvBxIrCiZTVUJTQ1JJUFRJT05fRkVBVFVSRV9GTEFHX1RBR1NfVVBEQVRFRBDwBxIfChpBRE1JTl9TVUJTQ1JJUFRJT05fQ1JFQVRFRBDMCBIfChpBRE1JTl9TVUJTQ1JJUFRJT05fREVMRVRFRBDNCBIfChpBRE1JTl9TVUJTQ1JJUFRJT05fRU5BQkxFRBDOCBIgChtBRE1JTl9TVUJTQ1JJUFRJT05fRElTQUJMRUQQzwgSKQokQURNSU5fU1VCU0NSSVBUSU9OX1NPVVJDRV9UWVBFX0FEREVEENAIEisKJkFETUlOX1NVQlNDUklQVElPTl9TT1VSQ0VfVFlQRV9ERUxFVEVEENEIEh8KGkFETUlOX1NVQlNDUklQVElPTl9SRU5BTUVEENIIEhQKD1BST0pFQ1RfQ1JFQVRFRBCwCRIgChtQUk9KRUNUX0RFU0NSSVBUSU9OX0NIQU5HRUQQsQkSFAoPUFJPSkVDVF9FTkFCTEVEELIJEhUKEFBST0pFQ1RfRElTQUJMRUQQswkSGgoVUFJPSkVDVF9UUklBTF9DUkVBVEVEELQJEhwKF1BST0pFQ1RfVFJJQUxfQ09OVkVSVEVEELUJEhQKD1BST0pFQ1RfUkVOQU1FRBC2CRIgChtQUk9HUkVTU0lWRV9ST0xMT1VUX0NSRUFURUQQ+AoSIAobUFJPR1JFU1NJVkVfUk9MTE9VVF9ERUxFVEVEEPkKEjYKMVBST0dSRVNTSVZFX1JPTExPVVRfU0NIRURVTEVfVFJJR0dFUkVEX0FUX0NIQU5HRUQQ+goSIAobUFJPR1JFU1NJVkVfUk9MTE9VVF9TVE9QUEVEEPsKEhkKFE9SR0FOSVpBVElPTl9DUkVBVEVEENwLEh4KGU9SR0FOSVpBVElPTl9OQU1FX0NIQU5HRUQQ3QsSJQogT1JHQU5JWkFUSU9OX0RFU0NSSVBUSU9OX0NIQU5HRUQQ3gsSGQoUT1JHQU5JWkFUSU9OX0VOQUJMRUQQ3wsSGgoVT1JHQU5JWkFUSU9OX0RJU0FCTEVEEOALEhoKFU9SR0FOSVpBVElPTl9BUkNISVZFRBDhCxIcChdPUkdBTklaQVRJT05fVU5BUkNISVZFRBDiCxIhChxPUkdBTklaQVRJT05fVFJJQUxfQ09OVkVSVEVEEOMLEiUKIE9SR0FOSVpBVElPTl9PV05FUl9FTUFJTF9DSEFOR0VEEOQLEhkKFEZMQUdfVFJJR0dFUl9DUkVBVEVEEMEMEhcKEkZMQUdfVFJJR0dFUl9SRVNFVBDCDBIlCiBGTEFHX1RSSUdHRVJfREVTQ1JJUFRJT05fQ0hBTkdFRBDDDBIaChVGTEFHX1RSSUdHRVJfRElTQUJMRUQQxAwSGQoURkxBR19UUklHR0VSX0VOQUJMRUQQxQwSGQoURkxBR19UUklHR0VSX0RFTEVURUQQxgwSHwoaRkxBR19UUklHR0VSX1VTQUdFX1VQREFURUQQxwwSEAoLVEFHX0NSRUFURUQQpQ0SEAoLVEFHX0RFTEVURUQQpg0SGwoWQ09ERV9SRUZFUkVOQ0VfQ1JFQVRFRBCIDhIbChZDT0RFX1JFRkVSRU5DRV9VUERBVEVEEIkOEhsKFkNPREVfUkVGRVJFTkNFX0RFTEVURUQQig4iBgiUChCUCiIGCJUKEJUKIgYIlgoQlgoiBgiXChCXCiIGCJgKEJgKIgYImQoQmQpKBAgIEAkijAIKBkVkaXRvchIUCgVlbWFpbBgBIAEoCVIFZW1haWwSGQoIaXNfYWRtaW4YAyABKAhSB2lzQWRtaW4SEgoEbmFtZRgEIAEoCVIEbmFtZRJaChFwdWJsaWNfYXBpX2VkaXRvchgFIAEoCzIuLmJ1Y2tldGVlci5ldmVudC5kb21haW4uRWRpdG9yLlB1YmxpY0FQSUVkaXRvclIPcHVibGljQXBpRWRpdG9yGlsKD1B1YmxpY0FQSUVkaXRvchIUCgV0b2tlbhgBIAEoCVIFdG9rZW4SHgoKbWFpbnRhaW5lchgCIAEoCVIKbWFpbnRhaW5lchISCgRuYW1lGAMgASgJUgRuYW1lSgQIAhADIkQKB09wdGlvbnMSGAoHY29tbWVudBgBIAEoCVIHY29tbWVudBIfCgtuZXdfdmVyc2lvbhgCIAEoBVIKbmV3VmVyc2lvbiLzBAoTRmVhdHVyZUNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SEgoEdXNlchgEIAEoCVIEdXNlchI8Cgp2YXJpYXRpb25zGAUgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zElgKGmRlZmF1bHRfb25fdmFyaWF0aW9uX2luZGV4GAYgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSF2RlZmF1bHRPblZhcmlhdGlvbkluZGV4EloKG2RlZmF1bHRfb2ZmX3ZhcmlhdGlvbl9pbmRleBgHIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlUhhkZWZhdWx0T2ZmVmFyaWF0aW9uSW5kZXgSTwoOdmFyaWF0aW9uX3R5cGUYCCABKA4yKC5idWNrZXRlZXIuZmVhdHVyZS5GZWF0dXJlLlZhcmlhdGlvblR5cGVSDXZhcmlhdGlvblR5cGUSEgoEdGFncxgJIAMoCVIEdGFncxJFCg1wcmVyZXF1aXNpdGVzGAogAygLMh8uYnVja2V0ZWVyLmZlYXR1cmUuUHJlcmVxdWlzaXRlUg1wcmVyZXF1aXNpdGVzEi0KBXJ1bGVzGAsgAygLMhcuYnVja2V0ZWVyLmZlYXR1cmUuUnVsZVIFcnVsZXMSMwoHdGFyZ2V0cxgMIAMoCzIZLmJ1Y2tldGVlci5mZWF0dXJlLlRhcmdldFIHdGFyZ2V0cyJmChNGZWF0dXJlVXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIWCgRkYXRhGAIgASgJQgIYAVIEZGF0YRInCg1wcmV2aW91c19kYXRhGAMgASgJQgIYAVIMcHJldmlvdXNEYXRhIiUKE0ZlYXR1cmVFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFEZlYXR1cmVEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCImChRGZWF0dXJlQXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiKAoWRmVhdHVyZVVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiJQoTRmVhdHVyZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiLQobRXZhbHVhdGlvbkRlbGF5YWJsZVNldEV2ZW50Eg4KAmlkGAEgASgJUgJpZCIvCh1FdmFsdWF0aW9uVW5kZWxheWFibGVTZXRFdmVudBIOCgJpZBgBIAEoCVICaWQiOQoTRmVhdHVyZVJlbmFtZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSJSCh5GZWF0dXJlRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiJWCh9GZWF0dXJlT2ZmVmFyaWF0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIjCg1vZmZfdmFyaWF0aW9uGAIgASgJUgxvZmZWYXJpYXRpb24iaAoaRmVhdHVyZVZhcmlhdGlvbkFkZGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjoKCXZhcmlhdGlvbhgCIAEoCzIcLmJ1Y2tldGVlci5mZWF0dXJlLlZhcmlhdGlvblIJdmFyaWF0aW9uIlEKHEZlYXR1cmVWYXJpYXRpb25SZW1vdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiEKDHZhcmlhdGlvbl9pZBgCIAEoCVILdmFyaWF0aW9uSWQiYQoaVmFyaWF0aW9uVmFsdWVDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBIUCgV2YWx1ZRgDIAEoCVIFdmFsdWUiXgoZVmFyaWF0aW9uTmFtZUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSDgoCaWQYAiABKAlSAmlkEhIKBG5hbWUYAyABKAlSBG5hbWUicwogVmFyaWF0aW9uRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iXAoXVmFyaWF0aW9uVXNlckFkZGVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBISCgR1c2VyGAMgASgJUgR1c2VyIl4KGVZhcmlhdGlvblVzZXJSZW1vdmVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEg4KAmlkGAIgASgJUgJpZBISCgR1c2VyGAMgASgJUgR1c2VyIlQKFUZlYXR1cmVSdWxlQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSKwoEcnVsZRgCIAEoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBHJ1bGUikQEKHkZlYXR1cmVDaGFuZ2VSdWxlU3RyYXRlZ3lFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjcKCHN0cmF0ZWd5GAMgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSCHN0cmF0ZWd5IlkKHUZlYXR1cmVSdWxlc09yZGVyQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIZCghydWxlX2lkcxgCIAMoCVIHcnVsZUlkcyJCChdGZWF0dXJlUnVsZURlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkIpgBCiBGZWF0dXJlRml4ZWRTdHJhdGVneUNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEjwKCHN0cmF0ZWd5GAMgASgLMiAuYnVja2V0ZWVyLmZlYXR1cmUuRml4ZWRTdHJhdGVneVIIc3RyYXRlZ3kinAEKIkZlYXR1cmVSb2xsb3V0U3RyYXRlZ3lDaGFuZ2VkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBI+CghzdHJhdGVneRgDIAEoCzIiLmJ1Y2tldGVlci5mZWF0dXJlLlJvbGxvdXRTdHJhdGVneVIIc3RyYXRlZ3kigQEKFFJ1bGVDbGF1c2VBZGRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSMQoGY2xhdXNlGAMgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgZjbGF1c2UiYAoWUnVsZUNsYXVzZURlbGV0ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZCKDAQobQ2xhdXNlQXR0cmlidXRlQ2hhbmdlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhwKCWF0dHJpYnV0ZRgEIAEoCVIJYXR0cmlidXRlIqQBChpDbGF1c2VPcGVyYXRvckNoYW5nZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZBI+CghvcGVyYXRvchgEIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3IidQoVQ2xhdXNlVmFsdWVBZGRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSDgoCaWQYAyABKAlSAmlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSJ3ChdDbGF1c2VWYWx1ZVJlbW92ZWRFdmVudBIdCgpmZWF0dXJlX2lkGAEgASgJUglmZWF0dXJlSWQSFwoHcnVsZV9pZBgCIAEoCVIGcnVsZUlkEg4KAmlkGAMgASgJUgJpZBIUCgV2YWx1ZRgEIAEoCVIFdmFsdWUibQoiRmVhdHVyZURlZmF1bHRTdHJhdGVneUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSNwoIc3RyYXRlZ3kYAiABKAsyGy5idWNrZXRlZXIuZmVhdHVyZS5TdHJhdGVneVIIc3RyYXRlZ3kiOAoURmVhdHVyZVRhZ0FkZGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhAKA3RhZxgCIAEoCVIDdGFnIjoKFkZlYXR1cmVUYWdSZW1vdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhAKA3RhZxgCIAEoCVIDdGFnIkoKHkZlYXR1cmVWZXJzaW9uSW5jcmVtZW50ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSGAoHdmVyc2lvbhgCIAEoBVIHdmVyc2lvbiK1BAoSRmVhdHVyZUNsb25lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhI8Cgp2YXJpYXRpb25zGAQgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEjMKB3RhcmdldHMYBSADKAsyGS5idWNrZXRlZXIuZmVhdHVyZS5UYXJnZXRSB3RhcmdldHMSLQoFcnVsZXMYBiADKAsyFy5idWNrZXRlZXIuZmVhdHVyZS5SdWxlUgVydWxlcxJGChBkZWZhdWx0X3N0cmF0ZWd5GAcgASgLMhsuYnVja2V0ZWVyLmZlYXR1cmUuU3RyYXRlZ3lSD2RlZmF1bHRTdHJhdGVneRIjCg1vZmZfdmFyaWF0aW9uGAggASgJUgxvZmZWYXJpYXRpb24SEgoEdGFncxgJIAMoCVIEdGFncxIeCgptYWludGFpbmVyGAogASgJUgptYWludGFpbmVyEk8KDnZhcmlhdGlvbl90eXBlGAsgASgOMiguYnVja2V0ZWVyLmZlYXR1cmUuRmVhdHVyZS5WYXJpYXRpb25UeXBlUg12YXJpYXRpb25UeXBlEkUKDXByZXJlcXVpc2l0ZXMYDCADKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDXByZXJlcXVpc2l0ZXMiRAodRmVhdHVyZVNhbXBsaW5nU2VlZFJlc2V0RXZlbnQSIwoNc2FtcGxpbmdfc2VlZBgBIAEoCVIMc2FtcGxpbmdTZWVkIoQCChBHb2FsQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIYCgdkZWxldGVkGAQgASgIUgdkZWxldGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSUgoPY29ubmVjdGlvbl90eXBlGAcgASgOMikuYnVja2V0ZWVyLmV4cGVyaW1lbnQuR29hbC5Db25uZWN0aW9uVHlwZVIOY29ubmVjdGlvblR5cGUilAEKEEdvYWxVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uIjYKEEdvYWxSZW5hbWVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiTwobR29hbERlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iIwoRR29hbEFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiIKEEdvYWxEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIvMDChZFeHBlcmltZW50Q3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJwoPZmVhdHVyZV92ZXJzaW9uGAMgASgFUg5mZWF0dXJlVmVyc2lvbhI8Cgp2YXJpYXRpb25zGAQgAygLMhwuYnVja2V0ZWVyLmZlYXR1cmUuVmFyaWF0aW9uUgp2YXJpYXRpb25zEhsKB2dvYWxfaWQYBSABKAlCAhgBUgZnb2FsSWQSGQoIc3RhcnRfYXQYBiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgHIAEoA1IGc3RvcEF0EhgKB3N0b3BwZWQYCCABKAhSB3N0b3BwZWQSHQoKc3RvcHBlZF9hdBgJIAEoA1IJc3RvcHBlZEF0Eh0KCmNyZWF0ZWRfYXQYCiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAsgASgDUgl1cGRhdGVkQXQSGQoIZ29hbF9pZHMYDCADKAlSB2dvYWxJZHMSEgoEbmFtZRgNIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgOIAEoCVILZGVzY3JpcHRpb24SKgoRYmFzZV92YXJpYXRpb25faWQYDyABKAlSD2Jhc2VWYXJpYXRpb25JZCJHChZFeHBlcmltZW50U3RvcHBlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpzdG9wcGVkX2F0GAIgASgDUglzdG9wcGVkQXQiKQoXRXhwZXJpbWVudEFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIigKFkV4cGVyaW1lbnREZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIkoKHUV4cGVyaW1lbnRTdGFydEF0Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIZCghzdGFydF9hdBgCIAEoA1IHc3RhcnRBdCJHChxFeHBlcmltZW50U3RvcEF0Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIXCgdzdG9wX2F0GAIgASgDUgZzdG9wQXQiYgocRXhwZXJpbWVudFBlcmlvZENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSGQoIc3RhcnRfYXQYAiABKANSB3N0YXJ0QXQSFwoHc3RvcF9hdBgDIAEoA1IGc3RvcEF0IkAKGkV4cGVyaW1lbnROYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlUKIUV4cGVyaW1lbnREZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uItMBChZFeHBlcmltZW50VXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIZCghzdGFydF9hdBgEIAEoA1IHc3RhcnRBdBIXCgdzdG9wX2F0GAUgASgDUgZzdG9wQXQSPwoGc3RhdHVzGAYgASgOMicuYnVja2V0ZWVyLmV4cGVyaW1lbnQuRXhwZXJpbWVudC5TdGF0dXNSBnN0YXR1cyIYChZFeHBlcmltZW50U3RhcnRlZEV2ZW50IhkKF0V4cGVyaW1lbnRGaW5pc2hlZEV2ZW50IpIEChVBY2NvdW50VjJDcmVhdGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUSKAoQYXZhdGFyX2ltYWdlX3VybBgDIAEoCVIOYXZhdGFySW1hZ2VVcmwSJwoPb3JnYW5pemF0aW9uX2lkGAQgASgJUg5vcmdhbml6YXRpb25JZBJbChFvcmdhbml6YXRpb25fcm9sZRgFIAEoDjIuLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5Sb2xlLk9yZ2FuaXphdGlvblIQb3JnYW5pemF0aW9uUm9sZRJZChFlbnZpcm9ubWVudF9yb2xlcxgGIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMSGgoIZGlzYWJsZWQYByABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYCCABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAkgASgDUgl1cGRhdGVkQXQSHQoKZmlyc3RfbmFtZRgKIAEoCVIJZmlyc3ROYW1lEhsKCWxhc3RfbmFtZRgLIAEoCVIIbGFzdE5hbWUSGgoIbGFuZ3VhZ2UYDCABKAlSCGxhbmd1YWdlEhIKBHRhZ3MYDSADKAlSBHRhZ3MiVgoVQWNjb3VudFYyVXBkYXRlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBInCg9vcmdhbml6YXRpb25faWQYAiABKAlSDm9yZ2FuaXphdGlvbklkIkUKGUFjY291bnRWMk5hbWVDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBG5hbWUYAiABKAlSBG5hbWUiZQojQWNjb3VudFYyQXZhdGFySW1hZ2VVUkxDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEigKEGF2YXRhcl9pbWFnZV91cmwYAiABKAlSDmF2YXRhckltYWdlVXJsIkUKGUFjY291bnRWMlRhZ3NDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhIKBHRhZ3MYAiADKAlSBHRhZ3MimgEKJUFjY291bnRWMk9yZ2FuaXphdGlvblJvbGVDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsElsKEW9yZ2FuaXphdGlvbl9yb2xlGAIgASgOMi4uYnVja2V0ZWVyLmFjY291bnQuQWNjb3VudFYyLlJvbGUuT3JnYW5pemF0aW9uUhBvcmdhbml6YXRpb25Sb2xlIpgBCiVBY2NvdW50VjJFbnZpcm9ubWVudFJvbGVzQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBJZChFlbnZpcm9ubWVudF9yb2xlcxgCIAMoCzIsLmJ1Y2tldGVlci5hY2NvdW50LkFjY291bnRWMi5FbnZpcm9ubWVudFJvbGVSEGVudmlyb25tZW50Um9sZXMiLQoVQWNjb3VudFYyRW5hYmxlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbCIuChZBY2NvdW50VjJEaXNhYmxlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbCItChVBY2NvdW50VjJEZWxldGVkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsItcBChhTZWFyY2hGaWx0ZXJDcmVhdGVkRXZlbnQSEgoETmFtZRgBIAEoCVIETmFtZRIUCgVRdWVyeRgCIAEoCVIFUXVlcnkSQwoKVGFyZ2V0VHlwZRgDIAEoDjIjLmJ1Y2tldGVlci5hY2NvdW50LkZpbHRlclRhcmdldFR5cGVSClRhcmdldFR5cGUSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWQSJQoOZGVmYXVsdF9maWx0ZXIYBSABKAhSDWRlZmF1bHRGaWx0ZXIiQgocU2VhcmNoRmlsdGVyTmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoETmFtZRgCIAEoCVIETmFtZSJFCh1TZWFyY2hGaWx0ZXJRdWVyeUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSFAoFUXVlcnkYAiABKAlSBVF1ZXJ5IlgKH1NlYXJjaEZpbHRlckRlZmF1bHRDaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiUKDmRlZmF1bHRfZmlsdGVyGAIgASgIUg1kZWZhdWx0RmlsdGVyIioKGFNlYXJjaEZpbHRlckRlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQi/wEKEkFQSUtleUNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIyCgRyb2xlGAMgASgOMh4uYnVja2V0ZWVyLmFjY291bnQuQVBJS2V5LlJvbGVSBHJvbGUSGgoIZGlzYWJsZWQYBCABKAhSCGRpc2FibGVkEh0KCmNyZWF0ZWRfYXQYBSABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAYgASgDUgl1cGRhdGVkQXQSHgoKbWFpbnRhaW5lchgHIAEoCVIKbWFpbnRhaW5lchIXCgdhcGlfa2V5GAggASgJUgZhcGlLZXkiJAoSQVBJS2V5Q2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCI8ChZBUElLZXlOYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIiQKEkFQSUtleUVuYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiJQoTQVBJS2V5RGlzYWJsZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiWwoTU2VnbWVudENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24iJQoTU2VnbWVudERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQilwEKE1NlZ21lbnRVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSPgoLZGVzY3JpcHRpb24YAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSC2Rlc2NyaXB0aW9uIj0KF1NlZ21lbnROYW1lQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIlIKHlNlZ21lbnREZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIlQKFVNlZ21lbnRSdWxlQWRkZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSKwoEcnVsZRgCIAEoCzIXLmJ1Y2tldGVlci5mZWF0dXJlLlJ1bGVSBHJ1bGUiQgoXU2VnbWVudFJ1bGVEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZCKIAQobU2VnbWVudFJ1bGVDbGF1c2VBZGRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSMQoGY2xhdXNlGAMgASgLMhkuYnVja2V0ZWVyLmZlYXR1cmUuQ2xhdXNlUgZjbGF1c2UidAodU2VnbWVudFJ1bGVDbGF1c2VEZWxldGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkIpcBCiJTZWdtZW50Q2xhdXNlQXR0cmlidXRlQ2hhbmdlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZBIcCglhdHRyaWJ1dGUYBCABKAlSCWF0dHJpYnV0ZSK4AQohU2VnbWVudENsYXVzZU9wZXJhdG9yQ2hhbmdlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZBI+CghvcGVyYXRvchgEIAEoDjIiLmJ1Y2tldGVlci5mZWF0dXJlLkNsYXVzZS5PcGVyYXRvclIIb3BlcmF0b3IiiQEKHFNlZ21lbnRDbGF1c2VWYWx1ZUFkZGVkRXZlbnQSHQoKc2VnbWVudF9pZBgBIAEoCVIJc2VnbWVudElkEhcKB3J1bGVfaWQYAiABKAlSBnJ1bGVJZBIbCgljbGF1c2VfaWQYAyABKAlSCGNsYXVzZUlkEhQKBXZhbHVlGAQgASgJUgV2YWx1ZSKLAQoeU2VnbWVudENsYXVzZVZhbHVlUmVtb3ZlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIXCgdydWxlX2lkGAIgASgJUgZydWxlSWQSGwoJY2xhdXNlX2lkGAMgASgJUghjbGF1c2VJZBIUCgV2YWx1ZRgEIAEoCVIFdmFsdWUijQEKFVNlZ21lbnRVc2VyQWRkZWRFdmVudBIdCgpzZWdtZW50X2lkGAEgASgJUglzZWdtZW50SWQSGQoIdXNlcl9pZHMYAiADKAlSB3VzZXJJZHMSOgoFc3RhdGUYAyABKA4yJC5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50VXNlci5TdGF0ZVIFc3RhdGUijwEKF1NlZ21lbnRVc2VyRGVsZXRlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBIZCgh1c2VyX2lkcxgCIAMoCVIHdXNlcklkcxI6CgVzdGF0ZRgDIAEoDjIkLmJ1Y2tldGVlci5mZWF0dXJlLlNlZ21lbnRVc2VyLlN0YXRlUgVzdGF0ZSKzAQobU2VnbWVudEJ1bGtVcGxvYWRVc2Vyc0V2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBI5CgZzdGF0dXMYAiABKA4yIS5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50LlN0YXR1c1IGc3RhdHVzEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlItYBCihTZWdtZW50QnVsa1VwbG9hZFVzZXJzU3RhdHVzQ2hhbmdlZEV2ZW50Eh0KCnNlZ21lbnRfaWQYASABKAlSCXNlZ21lbnRJZBI5CgZzdGF0dXMYAiABKA4yIS5idWNrZXRlZXIuZmVhdHVyZS5TZWdtZW50LlN0YXR1c1IGc3RhdHVzEjoKBXN0YXRlGAMgASgOMiQuYnVja2V0ZWVyLmZlYXR1cmUuU2VnbWVudFVzZXIuU3RhdGVSBXN0YXRlEhQKBWNvdW50GAQgASgDUgVjb3VudCL0AQoXRW52aXJvbm1lbnRDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhwKCW5hbWVzcGFjZRgCIAEoCVIJbmFtZXNwYWNlEhIKBG5hbWUYAyABKAlSBG5hbWUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uEhgKB2RlbGV0ZWQYBSABKAhSB2RlbGV0ZWQSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBIdCgpwcm9qZWN0X2lkGAggASgJUglwcm9qZWN0SWQiPQoXRW52aXJvbm1lbnRSZW5hbWVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhIKBG5hbWUYAiABKAlSBG5hbWUiVgoiRW52aXJvbm1lbnREZXNjcmlwdGlvbkNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uIkcKF0Vudmlyb25tZW50RGVsZXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIcCgluYW1lc3BhY2UYAiABKAlSCW5hbWVzcGFjZSKeAgoZRW52aXJvbm1lbnRWMkNyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgDIAEoCVIHdXJsQ29kZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SHQoKcHJvamVjdF9pZBgFIAEoCVIJcHJvamVjdElkEhoKCGFyY2hpdmVkGAYgASgIUghhcmNoaXZlZBIdCgpjcmVhdGVkX2F0GAcgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgIIAEoA1IJdXBkYXRlZEF0EicKD3JlcXVpcmVfY29tbWVudBgJIAEoCFIOcmVxdWlyZUNvbW1lbnQigAEKGUVudmlyb25tZW50VjJSZW5hbWVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCnByb2plY3RfaWQYAiABKAlSCXByb2plY3RJZBIZCghvbGRfbmFtZRgDIAEoCVIHb2xkTmFtZRIZCghuZXdfbmFtZRgEIAEoCVIHbmV3TmFtZSK7AQokRW52aXJvbm1lbnRWMkRlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCnByb2plY3RfaWQYAyABKAlSCXByb2plY3RJZBInCg9vbGRfZGVzY3JpcHRpb24YBCABKAlSDm9sZERlc2NyaXB0aW9uEicKD25ld19kZXNjcmlwdGlvbhgFIAEoCVIObmV3RGVzY3JpcHRpb24ilQEKJ0Vudmlyb25tZW50VjJSZXF1aXJlQ29tbWVudENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpwcm9qZWN0X2lkGAMgASgJUglwcm9qZWN0SWQSJwoPcmVxdWlyZV9jb21tZW50GAQgASgIUg5yZXF1aXJlQ29tbWVudCJfChpFbnZpcm9ubWVudFYyQXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpwcm9qZWN0X2lkGAMgASgJUglwcm9qZWN0SWQiYQocRW52aXJvbm1lbnRWMlVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZRIdCgpwcm9qZWN0X2lkGAMgASgJUglwcm9qZWN0SWQiqQIKF0F1dG9PcHNSdWxlQ3JlYXRlZEV2ZW50Eh0KCmZlYXR1cmVfaWQYASABKAlSCWZlYXR1cmVJZBI1CghvcHNfdHlwZRgCIAEoDjIaLmJ1Y2tldGVlci5hdXRvb3BzLk9wc1R5cGVSB29wc1R5cGUSMwoHY2xhdXNlcxgDIAMoCzIZLmJ1Y2tldGVlci5hdXRvb3BzLkNsYXVzZVIHY2xhdXNlcxIdCgpjcmVhdGVkX2F0GAUgASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgGIAEoA1IJdXBkYXRlZEF0Ej8KCm9wc19zdGF0dXMYByABKA4yIC5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzU3RhdHVzUglvcHNTdGF0dXNKBAgEEAUiGQoXQXV0b09wc1J1bGVTdG9wcGVkRXZlbnQiGQoXQXV0b09wc1J1bGVEZWxldGVkRXZlbnQiVwoeQXV0b09wc1J1bGVPcHNUeXBlQ2hhbmdlZEV2ZW50EjUKCG9wc190eXBlGAEgASgOMhouYnVja2V0ZWVyLmF1dG9vcHMuT3BzVHlwZVIHb3BzVHlwZSIkCiJBdXRvT3BzUnVsZVRyaWdnZXJlZEF0Q2hhbmdlZEV2ZW50ImMKIEF1dG9PcHNSdWxlT3BzU3RhdHVzQ2hhbmdlZEV2ZW50Ej8KCm9wc19zdGF0dXMYASABKA4yIC5idWNrZXRlZXIuYXV0b29wcy5BdXRvT3BzU3RhdHVzUglvcHNTdGF0dXMilQEKHE9wc0V2ZW50UmF0ZUNsYXVzZUFkZGVkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZBJYChVvcHNfZXZlbnRfcmF0ZV9jbGF1c2UYAiABKAsyJS5idWNrZXRlZXIuYXV0b29wcy5PcHNFdmVudFJhdGVDbGF1c2VSEm9wc0V2ZW50UmF0ZUNsYXVzZSKXAQoeT3BzRXZlbnRSYXRlQ2xhdXNlQ2hhbmdlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQSWAoVb3BzX2V2ZW50X3JhdGVfY2xhdXNlGAIgASgLMiUuYnVja2V0ZWVyLmF1dG9vcHMuT3BzRXZlbnRSYXRlQ2xhdXNlUhJvcHNFdmVudFJhdGVDbGF1c2UiPAodQXV0b09wc1J1bGVDbGF1c2VEZWxldGVkRXZlbnQSGwoJY2xhdXNlX2lkGAEgASgJUghjbGF1c2VJZCKDAQoYRGF0ZXRpbWVDbGF1c2VBZGRlZEV2ZW50EhsKCWNsYXVzZV9pZBgBIAEoCVIIY2xhdXNlSWQSSgoPZGF0ZXRpbWVfY2xhdXNlGAIgASgLMiEuYnVja2V0ZWVyLmF1dG9vcHMuRGF0ZXRpbWVDbGF1c2VSDmRhdGV0aW1lQ2xhdXNlIoUBChpEYXRldGltZUNsYXVzZUNoYW5nZWRFdmVudBIbCgljbGF1c2VfaWQYASABKAlSCGNsYXVzZUlkEkoKD2RhdGV0aW1lX2NsYXVzZRgCIAEoCzIhLmJ1Y2tldGVlci5hdXRvb3BzLkRhdGV0aW1lQ2xhdXNlUg5kYXRldGltZUNsYXVzZSJwChBQdXNoQ3JlYXRlZEV2ZW50Ei4KE2ZjbV9zZXJ2aWNlX2FjY291bnQYASABKAlSEWZjbVNlcnZpY2VBY2NvdW50EhIKBHRhZ3MYAyADKAlSBHRhZ3MSEgoEbmFtZRgEIAEoCVIEbmFtZUoECAIQAyISChBQdXNoRGVsZXRlZEV2ZW50IigKElB1c2hUYWdzQWRkZWRFdmVudBISCgR0YWdzGAIgAygJUgR0YWdzIioKFFB1c2hUYWdzRGVsZXRlZEV2ZW50EhIKBHRhZ3MYAiADKAlSBHRhZ3MiJgoQUHVzaFJlbmFtZWRFdmVudBISCgRuYW1lGAIgASgJUgRuYW1lIioKFFB1c2hUYWdzVXBkYXRlZEV2ZW50EhIKBHRhZ3MYAiADKAlSBHRhZ3MiWAoQUHVzaFVwZGF0ZWRFdmVudBIwCgRuYW1lGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlUgRuYW1lEhIKBHRhZ3MYAiADKAlSBHRhZ3Mi7wEKGFN1YnNjcmlwdGlvbkNyZWF0ZWRFdmVudBJSCgxzb3VyY2VfdHlwZXMYASADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcxI/CglyZWNpcGllbnQYAiABKAsyIS5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudFIJcmVjaXBpZW50EhIKBG5hbWUYAyABKAlSBG5hbWUSKgoRZmVhdHVyZV9mbGFnX3RhZ3MYBCADKAlSD2ZlYXR1cmVGbGFnVGFncyIaChhTdWJzY3JpcHRpb25EZWxldGVkRXZlbnQiGgoYU3Vic2NyaXB0aW9uRW5hYmxlZEV2ZW50IhsKGVN1YnNjcmlwdGlvbkRpc2FibGVkRXZlbnQidwohU3Vic2NyaXB0aW9uU291cmNlVHlwZXNBZGRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzInkKI1N1YnNjcmlwdGlvblNvdXJjZVR5cGVzRGVsZXRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIi4KGFN1YnNjcmlwdGlvblJlbmFtZWRFdmVudBISCgRuYW1lGAEgASgJUgRuYW1lIlUKJ1N1YnNjcmlwdGlvbkZlYXR1cmVGbGFnVGFnc1VwZGF0ZWRFdmVudBIqChFmZWF0dXJlX2ZsYWdfdGFncxgBIAMoCVIPZmVhdHVyZUZsYWdUYWdzIpQCChhTdWJzY3JpcHRpb25VcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEjAKBG5hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVSBG5hbWUSUgoMc291cmNlX3R5cGVzGAMgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMSNgoIZGlzYWJsZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlUghkaXNhYmxlZBIqChFmZWF0dXJlX2ZsYWdfdGFncxgFIAMoCVIPZmVhdHVyZUZsYWdUYWdzIsgBCh1BZG1pblN1YnNjcmlwdGlvbkNyZWF0ZWRFdmVudBJSCgxzb3VyY2VfdHlwZXMYASADKA4yLy5idWNrZXRlZXIubm90aWZpY2F0aW9uLlN1YnNjcmlwdGlvbi5Tb3VyY2VUeXBlUgtzb3VyY2VUeXBlcxI/CglyZWNpcGllbnQYAiABKAsyIS5idWNrZXRlZXIubm90aWZpY2F0aW9uLlJlY2lwaWVudFIJcmVjaXBpZW50EhIKBG5hbWUYAyABKAlSBG5hbWUiHwodQWRtaW5TdWJzY3JpcHRpb25EZWxldGVkRXZlbnQiHwodQWRtaW5TdWJzY3JpcHRpb25FbmFibGVkRXZlbnQiIAoeQWRtaW5TdWJzY3JpcHRpb25EaXNhYmxlZEV2ZW50InwKJkFkbWluU3Vic2NyaXB0aW9uU291cmNlVHlwZXNBZGRlZEV2ZW50ElIKDHNvdXJjZV90eXBlcxgBIAMoDjIvLmJ1Y2tldGVlci5ub3RpZmljYXRpb24uU3Vic2NyaXB0aW9uLlNvdXJjZVR5cGVSC3NvdXJjZVR5cGVzIn4KKEFkbWluU3Vic2NyaXB0aW9uU291cmNlVHlwZXNEZWxldGVkRXZlbnQSUgoMc291cmNlX3R5cGVzGAEgAygOMi8uYnVja2V0ZWVyLm5vdGlmaWNhdGlvbi5TdWJzY3JpcHRpb24uU291cmNlVHlwZVILc291cmNlVHlwZXMiMwodQWRtaW5TdWJzY3JpcHRpb25SZW5hbWVkRXZlbnQSEgoEbmFtZRgBIAEoCVIEbmFtZSKLAgoTUHJvamVjdENyZWF0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSIAoLZGVzY3JpcHRpb24YAiABKAlSC2Rlc2NyaXB0aW9uEhoKCGRpc2FibGVkGAMgASgIUghkaXNhYmxlZBIUCgV0cmlhbBgEIAEoCFIFdHJpYWwSIwoNY3JlYXRvcl9lbWFpbBgFIAEoCVIMY3JlYXRvckVtYWlsEh0KCmNyZWF0ZWRfYXQYBiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAcgASgDUgl1cGRhdGVkQXQSEgoEbmFtZRgIIAEoCVIEbmFtZRIZCgh1cmxfY29kZRgJIAEoCVIHdXJsQ29kZSJSCh5Qcm9qZWN0RGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbiI5ChNQcm9qZWN0UmVuYW1lZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lIiUKE1Byb2plY3RFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIiYKFFByb2plY3REaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCKQAgoYUHJvamVjdFRyaWFsQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24SGgoIZGlzYWJsZWQYAyABKAhSCGRpc2FibGVkEhQKBXRyaWFsGAQgASgIUgV0cmlhbBIjCg1jcmVhdG9yX2VtYWlsGAUgASgJUgxjcmVhdG9yRW1haWwSHQoKY3JlYXRlZF9hdBgGIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYByABKANSCXVwZGF0ZWRBdBISCgRuYW1lGAggASgJUgRuYW1lEhkKCHVybF9jb2RlGAkgASgJUgd1cmxDb2RlIiwKGlByb2plY3RUcmlhbENvbnZlcnRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZCJdChZQcmVyZXF1aXNpdGVBZGRlZEV2ZW50EkMKDHByZXJlcXVpc2l0ZRgBIAEoCzIfLmJ1Y2tldGVlci5mZWF0dXJlLlByZXJlcXVpc2l0ZVIMcHJlcmVxdWlzaXRlImgKIVByZXJlcXVpc2l0ZVZhcmlhdGlvbkNoYW5nZWRFdmVudBJDCgxwcmVyZXF1aXNpdGUYASABKAsyHy5idWNrZXRlZXIuZmVhdHVyZS5QcmVyZXF1aXNpdGVSDHByZXJlcXVpc2l0ZSI5ChhQcmVyZXF1aXNpdGVSZW1vdmVkRXZlbnQSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkIvsBCh5Qcm9ncmVzc2l2ZVJvbGxvdXRDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIsCgZjbGF1c2UYAyABKAsyFC5nb29nbGUucHJvdG9idWYuQW55UgZjbGF1c2USHQoKY3JlYXRlZF9hdBgEIAEoA1IJY3JlYXRlZEF0Eh0KCnVwZGF0ZWRfYXQYBSABKANSCXVwZGF0ZWRBdBI+CgR0eXBlGAYgASgOMiouYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlR5cGVSBHR5cGUi5QEKHlByb2dyZXNzaXZlUm9sbG91dFN0b3BwZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSRAoGc3RhdHVzGAIgASgOMiwuYnVja2V0ZWVyLmF1dG9vcHMuUHJvZ3Jlc3NpdmVSb2xsb3V0LlN0YXR1c1IGc3RhdHVzEk4KCnN0b3BwZWRfYnkYAyABKA4yLy5idWNrZXRlZXIuYXV0b29wcy5Qcm9ncmVzc2l2ZVJvbGxvdXQuU3RvcHBlZEJ5UglzdG9wcGVkQnkSHQoKc3RvcHBlZF9hdBgEIAEoA1IJc3RvcHBlZEF0IjAKHlByb2dyZXNzaXZlUm9sbG91dERlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiVAoxUHJvZ3Jlc3NpdmVSb2xsb3V0U2NoZWR1bGVUcmlnZ2VyZWRBdENoYW5nZWRFdmVudBIfCgtzY2hlZHVsZV9pZBgBIAEoCVIKc2NoZWR1bGVJZCKoAgoYT3JnYW5pemF0aW9uQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhkKCHVybF9jb2RlGAMgASgJUgd1cmxDb2RlEiAKC2Rlc2NyaXB0aW9uGAQgASgJUgtkZXNjcmlwdGlvbhIaCghkaXNhYmxlZBgFIAEoCFIIZGlzYWJsZWQSGgoIYXJjaGl2ZWQYBiABKAhSCGFyY2hpdmVkEhQKBXRyaWFsGAcgASgIUgV0cmlhbBIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0Eh8KC293bmVyX2VtYWlsGAogASgJUgpvd25lckVtYWlsIlcKI09yZ2FuaXphdGlvbkRlc2NyaXB0aW9uQ2hhbmdlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIgCgtkZXNjcmlwdGlvbhgCIAEoCVILZGVzY3JpcHRpb24iVQoiT3JnYW5pemF0aW9uT3duZXJFbWFpbENoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHwoLb3duZXJfZW1haWwYAiABKAlSCm93bmVyRW1haWwiQgocT3JnYW5pemF0aW9uTmFtZUNoYW5nZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSEgoEbmFtZRgCIAEoCVIEbmFtZSIqChhPcmdhbml6YXRpb25FbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIisKGU9yZ2FuaXphdGlvbkRpc2FibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkIisKGU9yZ2FuaXphdGlvbkFyY2hpdmVkRXZlbnQSDgoCaWQYASABKAlSAmlkIi0KG09yZ2FuaXphdGlvblVuYXJjaGl2ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQiMQofT3JnYW5pemF0aW9uVHJpYWxDb252ZXJ0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQi4wIKF0ZsYWdUcmlnZ2VyQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSNwoEdHlwZRgEIAEoDjIjLmJ1Y2tldGVlci5mZWF0dXJlLkZsYWdUcmlnZ2VyLlR5cGVSBHR5cGUSPQoGYWN0aW9uGAUgASgOMiUuYnVja2V0ZWVyLmZlYXR1cmUuRmxhZ1RyaWdnZXIuQWN0aW9uUgZhY3Rpb24SIAoLZGVzY3JpcHRpb24YBiABKAlSC2Rlc2NyaXB0aW9uEhQKBXRva2VuGAcgASgJUgV0b2tlbhIdCgpjcmVhdGVkX2F0GAggASgDUgljcmVhdGVkQXQSHQoKdXBkYXRlZF9hdBgJIAEoA1IJdXBkYXRlZEF0EiUKDmVudmlyb25tZW50X2lkGAogASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIokBChVGbGFnVHJpZ2dlclJlc2V0RXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIUCgV0b2tlbhgEIAEoCVIFdG9rZW4SJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiogEKIkZsYWdUcmlnZ2VyRGVzY3JpcHRpb25DaGFuZ2VkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24SJQoOZW52aXJvbm1lbnRfaWQYBSABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidgoYRmxhZ1RyaWdnZXJEaXNhYmxlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSJQoOZW52aXJvbm1lbnRfaWQYBCABKAlSDWVudmlyb25tZW50SWRKBAgDEAQidQoXRmxhZ1RyaWdnZXJFbmFibGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIlCg5lbnZpcm9ubWVudF9pZBgEIAEoCVINZW52aXJvbm1lbnRJZEoECAMQBCJ1ChdGbGFnVHJpZ2dlckRlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSHQoKZmVhdHVyZV9pZBgCIAEoCVIJZmVhdHVyZUlkEiUKDmVudmlyb25tZW50X2lkGAQgASgJUg1lbnZpcm9ubWVudElkSgQIAxAEIssBChxGbGFnVHJpZ2dlclVzYWdlVXBkYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBIdCgpmZWF0dXJlX2lkGAIgASgJUglmZWF0dXJlSWQSKgoRbGFzdF90cmlnZ2VyZWRfYXQYBCABKANSD2xhc3RUcmlnZ2VyZWRBdBIjCg10cmlnZ2VyX3RpbWVzGAUgASgFUgx0cmlnZ2VyVGltZXMSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWRKBAgDEAQiVQoeQWNjb3VudFYyRmlyc3ROYW1lQ2hhbmdlZEV2ZW50EhQKBWVtYWlsGAEgASgJUgVlbWFpbBIdCgpmaXJzdF9uYW1lGAIgASgJUglmaXJzdE5hbWUiUgodQWNjb3VudFYyTGFzdE5hbWVDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhsKCWxhc3RfbmFtZRgCIAEoCVIIbGFzdE5hbWUiUQodQWNjb3VudFYyTGFuZ3VhZ2VDaGFuZ2VkRXZlbnQSFAoFZW1haWwYASABKAlSBWVtYWlsEhoKCGxhbmd1YWdlGAIgASgJUghsYW5ndWFnZSLaAQoPVGFnQ3JlYXRlZEV2ZW50Eg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEh0KCmNyZWF0ZWRfYXQYAyABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GAQgASgDUgl1cGRhdGVkQXQSPgoLZW50aXR5X3R5cGUYBSABKA4yHS5idWNrZXRlZXIudGFnLlRhZy5FbnRpdHlUeXBlUgplbnRpdHlUeXBlEiUKDmVudmlyb25tZW50X2lkGAYgASgJUg1lbnZpcm9ubWVudElkIkgKD1RhZ0RlbGV0ZWRFdmVudBIOCgJpZBgBIAEoCVICaWQSJQoOZW52aXJvbm1lbnRfaWQYBiABKAlSDWVudmlyb25tZW50SWQiyQQKGUNvZGVSZWZlcmVuY2VDcmVhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEh0KCmZlYXR1cmVfaWQYAiABKAlSCWZlYXR1cmVJZBIbCglmaWxlX3BhdGgYAyABKAlSCGZpbGVQYXRoEh8KC2xpbmVfbnVtYmVyGAQgASgFUgpsaW5lTnVtYmVyEiEKDGNvZGVfc25pcHBldBgFIAEoCVILY29kZVNuaXBwZXQSIQoMY29udGVudF9oYXNoGAYgASgJUgtjb250ZW50SGFzaBIYCgdhbGlhc2VzGAcgAygJUgdhbGlhc2VzEicKD3JlcG9zaXRvcnlfbmFtZRgIIAEoCVIOcmVwb3NpdG9yeU5hbWUSKQoQcmVwb3NpdG9yeV9vd25lchgJIAEoCVIPcmVwb3NpdG9yeU93bmVyElgKD3JlcG9zaXRvcnlfdHlwZRgKIAEoDjIvLmJ1Y2tldGVlci5jb2RlcmVmLkNvZGVSZWZlcmVuY2UuUmVwb3NpdG9yeVR5cGVSDnJlcG9zaXRvcnlUeXBlEisKEXJlcG9zaXRvcnlfYnJhbmNoGAsgASgJUhByZXBvc2l0b3J5QnJhbmNoEh8KC2NvbW1pdF9oYXNoGAwgASgJUgpjb21taXRIYXNoEiUKDmVudmlyb25tZW50X2lkGA0gASgJUg1lbnZpcm9ubWVudElkEh0KCmNyZWF0ZWRfYXQYDiABKANSCWNyZWF0ZWRBdBIdCgp1cGRhdGVkX2F0GA8gASgDUgl1cGRhdGVkQXQi3QIKGUNvZGVSZWZlcmVuY2VVcGRhdGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEhsKCWZpbGVfcGF0aBgCIAEoCVIIZmlsZVBhdGgSHwoLbGluZV9udW1iZXIYAyABKAVSCmxpbmVOdW1iZXISIQoMY29kZV9zbmlwcGV0GAQgASgJUgtjb2RlU25pcHBldBIhCgxjb250ZW50X2hhc2gYBSABKAlSC2NvbnRlbnRIYXNoEhgKB2FsaWFzZXMYBiADKAlSB2FsaWFzZXMSKwoRcmVwb3NpdG9yeV9icmFuY2gYByABKAlSEHJlcG9zaXRvcnlCcmFuY2gSHwoLY29tbWl0X2hhc2gYCCABKAlSCmNvbW1pdEhhc2gSJQoOZW52aXJvbm1lbnRfaWQYCSABKAlSDWVudmlyb25tZW50SWQSHQoKdXBkYXRlZF9hdBgKIAEoA1IJdXBkYXRlZEF0IlIKGUNvZGVSZWZlcmVuY2VEZWxldGVkRXZlbnQSDgoCaWQYASABKAlSAmlkEiUKDmVudmlyb25tZW50X2lkGAIgASgJUg1lbnZpcm9ubWVudElkQjZaNGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9ldmVudC9kb21haW5iBnByb3RvMwrKAQoqcHJvdG8vZXZlbnQvZG9tYWluL2xvY2FsaXplZF9tZXNzYWdlLnByb3RvEhZidWNrZXRlZXIuZXZlbnQuZG9tYWluIkQKEExvY2FsaXplZE1lc3NhZ2USFgoGbG9jYWxlGAEgASgJUgZsb2NhbGUSGAoHbWVzc2FnZRgCIAEoCVIHbWVzc2FnZUI2WjRnaXRodWIuY29tL2J1Y2tldGVlci1pby9idWNrZXRlZXIvcHJvdG8vZXZlbnQvZG9tYWluYgZwcm90bzMK+gUKHXByb3RvL2F1ZGl0bG9nL2F1ZGl0bG9nLnByb3RvEhJidWNrZXRlZXIuYXVkaXRsb2caGWdvb2dsZS9wcm90b2J1Zi9hbnkucHJvdG8aHnByb3RvL2V2ZW50L2RvbWFpbi9ldmVudC5wcm90bxoqcHJvdG8vZXZlbnQvZG9tYWluL2xvY2FsaXplZF9tZXNzYWdlLnByb3RvIqEECghBdWRpdExvZxIOCgJpZBgBIAEoCVICaWQSHAoJdGltZXN0YW1wGAIgASgDUgl0aW1lc3RhbXASSQoLZW50aXR5X3R5cGUYAyABKA4yKC5idWNrZXRlZXIuZXZlbnQuZG9tYWluLkV2ZW50LkVudGl0eVR5cGVSCmVudGl0eVR5cGUSGwoJZW50aXR5X2lkGAQgASgJUghlbnRpdHlJZBI2CgR0eXBlGAUgASgOMiIuYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FdmVudC5UeXBlUgR0eXBlEioKBWV2ZW50GAYgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIFZXZlbnQSNgoGZWRpdG9yGAcgASgLMh4uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5FZGl0b3JSBmVkaXRvchI5CgdvcHRpb25zGAggASgLMh8uYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5PcHRpb25zUgdvcHRpb25zElUKEWxvY2FsaXplZF9tZXNzYWdlGAkgASgLMiguYnVja2V0ZWVyLmV2ZW50LmRvbWFpbi5Mb2NhbGl6ZWRNZXNzYWdlUhBsb2NhbGl6ZWRNZXNzYWdlEh8KC2VudGl0eV9kYXRhGAogASgJUgplbnRpdHlEYXRhEjAKFHByZXZpb3VzX2VudGl0eV9kYXRhGAsgASgJUhJwcmV2aW91c0VudGl0eURhdGFCMlowZ2l0aHViLmNvbS9idWNrZXRlZXItaW8vYnVja2V0ZWVyL3Byb3RvL2F1ZGl0bG9nYgZwcm90bzMKoBMKHHByb3RvL2F1ZGl0bG9nL3NlcnZpY2UucHJvdG8SEmJ1Y2tldGVlci5hdWRpdGxvZxoeZ29vZ2xlL3Byb3RvYnVmL3dyYXBwZXJzLnByb3RvGh1wcm90by9hdWRpdGxvZy9hdWRpdGxvZy5wcm90byL8AwoUTGlzdEF1ZGl0TG9nc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJLCghvcmRlcl9ieRgEIAEoDjIwLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmAKD29yZGVyX2RpcmVjdGlvbhgFIAEoDjI3LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QXVkaXRMb2dzUmVxdWVzdC5PcmRlckRpcmVjdGlvblIOb3JkZXJEaXJlY3Rpb24SJQoOc2VhcmNoX2tleXdvcmQYBiABKAlSDXNlYXJjaEtleXdvcmQSEgoEZnJvbRgHIAEoA1IEZnJvbRIOCgJ0bxgIIAEoA1ICdG8SPAoLZW50aXR5X3R5cGUYCSABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJWYWx1ZVIKZW50aXR5VHlwZRIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZCIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAFKBAgDEAQijQEKFUxpc3RBdWRpdExvZ3NSZXNwb25zZRI7CgphdWRpdF9sb2dzGAEgAygLMhwuYnVja2V0ZWVyLmF1ZGl0bG9nLkF1ZGl0TG9nUglhdWRpdExvZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQi3gMKGUxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QSGwoJcGFnZV9zaXplGAEgASgDUghwYWdlU2l6ZRIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchJQCghvcmRlcl9ieRgDIAEoDjI1LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0QWRtaW5BdWRpdExvZ3NSZXF1ZXN0Lk9yZGVyQnlSB29yZGVyQnkSZQoPb3JkZXJfZGlyZWN0aW9uGAQgASgOMjwuYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QuT3JkZXJEaXJlY3Rpb25SDm9yZGVyRGlyZWN0aW9uEiUKDnNlYXJjaF9rZXl3b3JkGAUgASgJUg1zZWFyY2hLZXl3b3JkEhIKBGZyb20YBiABKANSBGZyb20SDgoCdG8YByABKANSAnRvEjwKC2VudGl0eV90eXBlGAggASgLMhsuZ29vZ2xlLnByb3RvYnVmLkludDMyVmFsdWVSCmVudGl0eVR5cGUiJQoHT3JkZXJCeRILCgdERUZBVUxUEAASDQoJVElNRVNUQU1QEAEiIwoOT3JkZXJEaXJlY3Rpb24SCAoEREVTQxAAEgcKA0FTQxABIpIBChpMaXN0QWRtaW5BdWRpdExvZ3NSZXNwb25zZRI7CgphdWRpdF9sb2dzGAEgAygLMhwuYnVja2V0ZWVyLmF1ZGl0bG9nLkF1ZGl0TG9nUglhdWRpdExvZ3MSFgoGY3Vyc29yGAIgASgJUgZjdXJzb3ISHwoLdG90YWxfY291bnQYAyABKANSCnRvdGFsQ291bnQi7AMKGUxpc3RGZWF0dXJlSGlzdG9yeVJlcXVlc3QSHQoKZmVhdHVyZV9pZBgBIAEoCVIJZmVhdHVyZUlkEhsKCXBhZ2Vfc2l6ZRgCIAEoA1IIcGFnZVNpemUSFgoGY3Vyc29yGAMgASgJUgZjdXJzb3ISUAoIb3JkZXJfYnkYBSABKA4yNS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdC5PcmRlckJ5UgdvcmRlckJ5EmUKD29yZGVyX2RpcmVjdGlvbhgGIAEoDjI8LmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXF1ZXN0Lk9yZGVyRGlyZWN0aW9uUg5vcmRlckRpcmVjdGlvbhIlCg5zZWFyY2hfa2V5d29yZBgHIAEoCVINc2VhcmNoS2V5d29yZBISCgRmcm9tGAggASgDUgRmcm9tEg4KAnRvGAkgASgDUgJ0bxIlCg5lbnZpcm9ubWVudF9pZBgKIAEoCVINZW52aXJvbm1lbnRJZCIlCgdPcmRlckJ5EgsKB0RFRkFVTFQQABINCglUSU1FU1RBTVAQASIjCg5PcmRlckRpcmVjdGlvbhIICgRERVNDEAASBwoDQVNDEAFKBAgEEAUikgEKGkxpc3RGZWF0dXJlSGlzdG9yeVJlc3BvbnNlEjsKCmF1ZGl0X2xvZ3MYASADKAsyHC5idWNrZXRlZXIuYXVkaXRsb2cuQXVkaXRMb2dSCWF1ZGl0TG9ncxIWCgZjdXJzb3IYAiABKAlSBmN1cnNvchIfCgt0b3RhbF9jb3VudBgDIAEoA1IKdG90YWxDb3VudDLnAgoPQXVkaXRMb2dTZXJ2aWNlEmYKDUxpc3RBdWRpdExvZ3MSKC5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEF1ZGl0TG9nc1JlcXVlc3QaKS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEF1ZGl0TG9nc1Jlc3BvbnNlIgASdQoSTGlzdEFkbWluQXVkaXRMb2dzEi0uYnVja2V0ZWVyLmF1ZGl0bG9nLkxpc3RBZG1pbkF1ZGl0TG9nc1JlcXVlc3QaLi5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEFkbWluQXVkaXRMb2dzUmVzcG9uc2UiABJ1ChJMaXN0RmVhdHVyZUhpc3RvcnkSLS5idWNrZXRlZXIuYXVkaXRsb2cuTGlzdEZlYXR1cmVIaXN0b3J5UmVxdWVzdBouLmJ1Y2tldGVlci5hdWRpdGxvZy5MaXN0RmVhdHVyZUhpc3RvcnlSZXNwb25zZSIAQjJaMGdpdGh1Yi5jb20vYnVja2V0ZWVyLWlvL2J1Y2tldGVlci9wcm90by9hdWRpdGxvZ2IGcHJvdG8z config: grpcPort: 9000 httpPort: 9003 diff --git a/proto/auditlog/proto_descriptor.pb b/proto/auditlog/proto_descriptor.pb index 930c992f891c73632abb91a14aeb01e2491ef578..d681da60aa0b479e2b350fe26f30180e1beffb95 100644 GIT binary patch delta 182 zcmbO}h55u(<_+Au%ujf^CLi>dnXJWom1!QwW=6hA%+f+$T>Qn!8L26yIjQlb1u2Oo zsS@G}%o^NAijzO)3d;pU?WQ1F#DX1hWhZ8 bucketeer.feature.Variation - 6, // 1: bucketeer.feature.Feature.targets:type_name -> bucketeer.feature.Target - 7, // 2: bucketeer.feature.Feature.rules:type_name -> bucketeer.feature.Rule - 8, // 3: bucketeer.feature.Feature.default_strategy:type_name -> bucketeer.feature.Strategy - 9, // 4: bucketeer.feature.Feature.last_used_info:type_name -> bucketeer.feature.FeatureLastUsedInfo + 6, // 0: bucketeer.feature.Feature.variations:type_name -> bucketeer.feature.Variation + 7, // 1: bucketeer.feature.Feature.targets:type_name -> bucketeer.feature.Target + 8, // 2: bucketeer.feature.Feature.rules:type_name -> bucketeer.feature.Rule + 9, // 3: bucketeer.feature.Feature.default_strategy:type_name -> bucketeer.feature.Strategy + 10, // 4: bucketeer.feature.Feature.last_used_info:type_name -> bucketeer.feature.FeatureLastUsedInfo 0, // 5: bucketeer.feature.Feature.variation_type:type_name -> bucketeer.feature.Feature.VariationType - 10, // 6: bucketeer.feature.Feature.prerequisites:type_name -> bucketeer.feature.Prerequisite - 1, // 7: bucketeer.feature.Features.features:type_name -> bucketeer.feature.Feature - 1, // 8: bucketeer.feature.EnvironmentFeature.features:type_name -> bucketeer.feature.Feature - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 11, // 6: bucketeer.feature.Feature.prerequisites:type_name -> bucketeer.feature.Prerequisite + 5, // 7: bucketeer.feature.Feature.schedule_update:type_name -> bucketeer.feature.ScheduleUpdate + 1, // 8: bucketeer.feature.Features.features:type_name -> bucketeer.feature.Feature + 1, // 9: bucketeer.feature.EnvironmentFeature.features:type_name -> bucketeer.feature.Feature + 1, // 10: bucketeer.feature.ScheduleUpdate.feature:type_name -> bucketeer.feature.Feature + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_proto_feature_feature_proto_init() } @@ -693,6 +770,18 @@ func file_proto_feature_feature_proto_init() { return nil } } + file_proto_feature_feature_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ScheduleUpdate); 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{ @@ -700,7 +789,7 @@ func file_proto_feature_feature_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_feature_feature_proto_rawDesc, NumEnums: 1, - NumMessages: 4, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/feature/feature.proto b/proto/feature/feature.proto index 104cee1f41..98ddf8b11d 100644 --- a/proto/feature/feature.proto +++ b/proto/feature/feature.proto @@ -53,6 +53,7 @@ message Feature { bool archived = 20; repeated Prerequisite prerequisites = 21; string sampling_seed = 22; + repeated ScheduleUpdate schedule_update = 23; } message Features { @@ -71,3 +72,8 @@ message Tag { int64 updated_at = 3; string name = 4; } + +message ScheduleUpdate { + Feature feature = 1; + int64 update_at = 2; +} diff --git a/proto/feature/proto_descriptor.pb b/proto/feature/proto_descriptor.pb index 958c2ccc219a268d8bec8763d60ee98f2a21c563..0e3bf203aa5de5949176de57356220f42b619b14 100644 GIT binary patch delta 155 zcmcaGo4Ii=^9F8S<|n*dlN*|3CTsCtWtzvanUQZ2v!sw07k_bbMrulFPHKEh5L5_07_Od_5c6? delta 43 zcmV+`0M!41odeLD1F#DX1G5YYlQDxFlPV3>0@4Sw0S=M_v)>VN0h2)rJhSo>kGe&# B4~YN( diff --git a/proto/gateway/proto_descriptor.pb b/proto/gateway/proto_descriptor.pb index 431cd8a49272c32c46a7468b944619ee6f1d2e65..367ab13469e0174efe317b65a9a0d238b1719ad5 100644 GIT binary patch delta 172 zcmdmgf&Ifp_6_&rnV#@Yei;9WdmaZDyIX2vNoi5)PJXQbz delta 59 zcmV-B0L1_B(FecK2e98?0<#R0;a~C#(gz9$MrC1ib#i5szvv~CN^&BzC1FAXv$JG! R0h6v)JcGt&x5j1xDuOWn8ZiI> diff --git a/proto/proto.lock b/proto/proto.lock index b4d5bfbb9d..6af8bae133 100644 --- a/proto/proto.lock +++ b/proto/proto.lock @@ -26133,6 +26133,12 @@ "id": 22, "name": "sampling_seed", "type": "string" + }, + { + "id": 23, + "name": "schedule_update", + "type": "ScheduleUpdate", + "is_repeated": true } ] }, @@ -26192,6 +26198,21 @@ "type": "string" } ] + }, + { + "name": "ScheduleUpdate", + "fields": [ + { + "id": 1, + "name": "feature", + "type": "Feature" + }, + { + "id": 2, + "name": "update_at", + "type": "int64" + } + ] } ], "imports": [ diff --git a/ui/web-v2/src/proto/feature/feature_pb.d.ts b/ui/web-v2/src/proto/feature/feature_pb.d.ts index 968c406080..865e30abf2 100644 --- a/ui/web-v2/src/proto/feature/feature_pb.d.ts +++ b/ui/web-v2/src/proto/feature/feature_pb.d.ts @@ -110,6 +110,11 @@ export class Feature extends jspb.Message { getSamplingSeed(): string; setSamplingSeed(value: string): void; + clearScheduleUpdateList(): void; + getScheduleUpdateList(): Array; + setScheduleUpdateList(value: Array): void; + addScheduleUpdate(value?: ScheduleUpdate, index?: number): ScheduleUpdate; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): Feature.AsObject; static toObject(includeInstance: boolean, msg: Feature): Feature.AsObject; @@ -152,6 +157,7 @@ export namespace Feature { archived: boolean; prerequisitesList: Array; samplingSeed: string; + scheduleUpdateList: Array; }; export interface VariationTypeMap { @@ -271,3 +277,40 @@ export namespace Tag { name: string; }; } + +export class ScheduleUpdate extends jspb.Message { + hasFeature(): boolean; + clearFeature(): void; + getFeature(): Feature | undefined; + setFeature(value?: Feature): void; + + getUpdateAt(): number; + setUpdateAt(value: number): void; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): ScheduleUpdate.AsObject; + static toObject( + includeInstance: boolean, + msg: ScheduleUpdate + ): ScheduleUpdate.AsObject; + static extensions: { [key: number]: jspb.ExtensionFieldInfo }; + static extensionsBinary: { + [key: number]: jspb.ExtensionFieldBinaryInfo; + }; + static serializeBinaryToWriter( + message: ScheduleUpdate, + writer: jspb.BinaryWriter + ): void; + static deserializeBinary(bytes: Uint8Array): ScheduleUpdate; + static deserializeBinaryFromReader( + message: ScheduleUpdate, + reader: jspb.BinaryReader + ): ScheduleUpdate; +} + +export namespace ScheduleUpdate { + export type AsObject = { + feature?: Feature.AsObject; + updateAt: number; + }; +} diff --git a/ui/web-v2/src/proto/feature/feature_pb.js b/ui/web-v2/src/proto/feature/feature_pb.js index 511e3eb363..a697bdcaf2 100644 --- a/ui/web-v2/src/proto/feature/feature_pb.js +++ b/ui/web-v2/src/proto/feature/feature_pb.js @@ -43,6 +43,7 @@ goog.exportSymbol( global ); goog.exportSymbol('proto.bucketeer.feature.Features', null, global); +goog.exportSymbol('proto.bucketeer.feature.ScheduleUpdate', null, global); goog.exportSymbol('proto.bucketeer.feature.Tag', null, global); /** * Generated by JsPbCodeGenerator. @@ -152,13 +153,35 @@ if (goog.DEBUG && !COMPILED) { */ proto.bucketeer.feature.Tag.displayName = 'proto.bucketeer.feature.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.feature.ScheduleUpdate = function (opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.bucketeer.feature.ScheduleUpdate, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.bucketeer.feature.ScheduleUpdate.displayName = + 'proto.bucketeer.feature.ScheduleUpdate'; +} /** * List of repeated fields within this message type. * @private {!Array} * @const */ -proto.bucketeer.feature.Feature.repeatedFields_ = [11, 12, 13, 16, 21]; +proto.bucketeer.feature.Feature.repeatedFields_ = [11, 12, 13, 16, 21, 23]; if (jspb.Message.GENERATE_TO_OBJECT) { /** @@ -240,7 +263,12 @@ if (jspb.Message.GENERATE_TO_OBJECT) { proto_feature_prerequisite_pb.Prerequisite.toObject, includeInstance ), - samplingSeed: jspb.Message.getFieldWithDefault(msg, 22, '') + samplingSeed: jspb.Message.getFieldWithDefault(msg, 22, ''), + scheduleUpdateList: jspb.Message.toObjectList( + msg.getScheduleUpdateList(), + proto.bucketeer.feature.ScheduleUpdate.toObject, + includeInstance + ) }; if (includeInstance) { @@ -398,6 +426,14 @@ proto.bucketeer.feature.Feature.deserializeBinaryFromReader = function ( var value = /** @type {string} */ (reader.readString()); msg.setSamplingSeed(value); break; + case 23: + var value = new proto.bucketeer.feature.ScheduleUpdate(); + reader.readMessage( + value, + proto.bucketeer.feature.ScheduleUpdate.deserializeBinaryFromReader + ); + msg.addScheduleUpdate(value); + break; default: reader.skipField(); break; @@ -541,6 +577,14 @@ proto.bucketeer.feature.Feature.serializeBinaryToWriter = function ( if (f.length > 0) { writer.writeString(22, f); } + f = message.getScheduleUpdateList(); + if (f.length > 0) { + writer.writeRepeatedMessage( + 23, + f, + proto.bucketeer.feature.ScheduleUpdate.serializeBinaryToWriter + ); + } }; /** @@ -1108,6 +1152,57 @@ proto.bucketeer.feature.Feature.prototype.setSamplingSeed = function (value) { return jspb.Message.setProto3StringField(this, 22, value); }; +/** + * repeated ScheduleUpdate schedule_update = 23; + * @return {!Array} + */ +proto.bucketeer.feature.Feature.prototype.getScheduleUpdateList = function () { + return /** @type{!Array} */ ( + jspb.Message.getRepeatedWrapperField( + this, + proto.bucketeer.feature.ScheduleUpdate, + 23 + ) + ); +}; + +/** + * @param {!Array} value + * @return {!proto.bucketeer.feature.Feature} returns this + */ +proto.bucketeer.feature.Feature.prototype.setScheduleUpdateList = function ( + value +) { + return jspb.Message.setRepeatedWrapperField(this, 23, value); +}; + +/** + * @param {!proto.bucketeer.feature.ScheduleUpdate=} opt_value + * @param {number=} opt_index + * @return {!proto.bucketeer.feature.ScheduleUpdate} + */ +proto.bucketeer.feature.Feature.prototype.addScheduleUpdate = function ( + opt_value, + opt_index +) { + return jspb.Message.addToRepeatedWrapperField( + this, + 23, + opt_value, + proto.bucketeer.feature.ScheduleUpdate, + opt_index + ); +}; + +/** + * Clears the list making it empty but non-null. + * @return {!proto.bucketeer.feature.Feature} returns this + */ +proto.bucketeer.feature.Feature.prototype.clearScheduleUpdateList = + function () { + return this.setScheduleUpdateList([]); + }; + /** * List of repeated fields within this message type. * @private {!Array} @@ -1733,4 +1828,193 @@ proto.bucketeer.feature.Tag.prototype.setName = function (value) { return jspb.Message.setProto3StringField(this, 4, value); }; +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.feature.ScheduleUpdate.prototype.toObject = function ( + opt_includeInstance + ) { + return proto.bucketeer.feature.ScheduleUpdate.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.feature.ScheduleUpdate} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ + proto.bucketeer.feature.ScheduleUpdate.toObject = function ( + includeInstance, + msg + ) { + var f, + obj = { + feature: + (f = msg.getFeature()) && + proto.bucketeer.feature.Feature.toObject(includeInstance, f), + updateAt: jspb.Message.getFieldWithDefault(msg, 2, 0) + }; + + 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.feature.ScheduleUpdate} + */ +proto.bucketeer.feature.ScheduleUpdate.deserializeBinary = function (bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.bucketeer.feature.ScheduleUpdate(); + return proto.bucketeer.feature.ScheduleUpdate.deserializeBinaryFromReader( + msg, + reader + ); +}; + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.bucketeer.feature.ScheduleUpdate} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.bucketeer.feature.ScheduleUpdate} + */ +proto.bucketeer.feature.ScheduleUpdate.deserializeBinaryFromReader = function ( + msg, + reader +) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = new proto.bucketeer.feature.Feature(); + reader.readMessage( + value, + proto.bucketeer.feature.Feature.deserializeBinaryFromReader + ); + msg.setFeature(value); + break; + case 2: + var value = /** @type {number} */ (reader.readInt64()); + msg.setUpdateAt(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.bucketeer.feature.ScheduleUpdate.prototype.serializeBinary = function () { + var writer = new jspb.BinaryWriter(); + proto.bucketeer.feature.ScheduleUpdate.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.feature.ScheduleUpdate} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.bucketeer.feature.ScheduleUpdate.serializeBinaryToWriter = function ( + message, + writer +) { + var f = undefined; + f = message.getFeature(); + if (f != null) { + writer.writeMessage( + 1, + f, + proto.bucketeer.feature.Feature.serializeBinaryToWriter + ); + } + f = message.getUpdateAt(); + if (f !== 0) { + writer.writeInt64(2, f); + } +}; + +/** + * optional Feature feature = 1; + * @return {?proto.bucketeer.feature.Feature} + */ +proto.bucketeer.feature.ScheduleUpdate.prototype.getFeature = function () { + return /** @type{?proto.bucketeer.feature.Feature} */ ( + jspb.Message.getWrapperField(this, proto.bucketeer.feature.Feature, 1) + ); +}; + +/** + * @param {?proto.bucketeer.feature.Feature|undefined} value + * @return {!proto.bucketeer.feature.ScheduleUpdate} returns this + */ +proto.bucketeer.feature.ScheduleUpdate.prototype.setFeature = function (value) { + return jspb.Message.setWrapperField(this, 1, value); +}; + +/** + * Clears the message field making it undefined. + * @return {!proto.bucketeer.feature.ScheduleUpdate} returns this + */ +proto.bucketeer.feature.ScheduleUpdate.prototype.clearFeature = function () { + return this.setFeature(undefined); +}; + +/** + * Returns whether this field is set. + * @return {boolean} + */ +proto.bucketeer.feature.ScheduleUpdate.prototype.hasFeature = function () { + return jspb.Message.getField(this, 1) != null; +}; + +/** + * optional int64 update_at = 2; + * @return {number} + */ +proto.bucketeer.feature.ScheduleUpdate.prototype.getUpdateAt = function () { + return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); +}; + +/** + * @param {number} value + * @return {!proto.bucketeer.feature.ScheduleUpdate} returns this + */ +proto.bucketeer.feature.ScheduleUpdate.prototype.setUpdateAt = function ( + value +) { + return jspb.Message.setProto3IntField(this, 2, value); +}; + goog.object.extend(exports, proto.bucketeer.feature);