UNPKG

perfetto-protos

Version:

Perfetto protos exposed via protobuf-es for browser and node

23 lines (20 loc) 333 kB
// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // @generated by protoc-gen-es v2.2.2 with parameter "target=ts" // @generated from file protos/third_party/chromium/chrome_track_event.proto (package perfetto.protos, syntax proto2) /* eslint-disable */ import type { GenEnum, GenExtension, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import { enumDesc, extDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1"; import type { TrackEvent } from "../../perfetto/trace/track_event/track_event_pb"; import { file_protos_perfetto_trace_track_event_track_event } from "../../perfetto/trace/track_event/track_event_pb"; import type { DebugAnnotation } from "../../perfetto/trace/track_event/debug_annotation_pb"; import { file_protos_perfetto_trace_track_event_debug_annotation } from "../../perfetto/trace/track_event/debug_annotation_pb"; import type { SourceLocation } from "../../perfetto/trace/track_event/source_location_pb"; import { file_protos_perfetto_trace_track_event_source_location } from "../../perfetto/trace/track_event/source_location_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file protos/third_party/chromium/chrome_track_event.proto. */ export const file_protos_third_party_chromium_chrome_track_event: GenFile = /*@__PURE__*/ fileDesc("CjRwcm90b3MvdGhpcmRfcGFydHkvY2hyb21pdW0vY2hyb21lX3RyYWNrX2V2ZW50LnByb3RvEg9wZXJmZXR0by5wcm90b3MidgogQ2hyb21lTWVtb3J5UHJlc3N1cmVOb3RpZmljYXRpb24SMwoFbGV2ZWwYASABKA4yJC5wZXJmZXR0by5wcm90b3MuTWVtb3J5UHJlc3N1cmVMZXZlbBIdChVjcmVhdGlvbl9sb2NhdGlvbl9paWQYAiABKAQilAQKDkJsaW5rVGFza1Njb3BlEjsKBHR5cGUYASABKA4yLS5wZXJmZXR0by5wcm90b3MuQmxpbmtUYXNrU2NvcGUuVGFza1Njb3BlVHlwZRIVCg1zY29wZV90YXNrX2lkGAIgASgDEiYKHnJ1bm5pbmdfdGFza19pZF90b19iZV9yZXN0b3JlZBgDIAEoAyLEAgoNVGFza1Njb3BlVHlwZRIWChJUQVNLX1NDT1BFX1VOS05PV04QABIXChNUQVNLX1NDT1BFX0NBTExCQUNLEAESHwobVEFTS19TQ09QRV9TQ0hFRFVMRURfQUNUSU9OEAISHwobVEFTS19TQ09QRV9TQ1JJUFRfRVhFQ1VUSU9OEAMSGwoXVEFTS19TQ09QRV9QT1NUX01FU1NBR0UQBBIYChRUQVNLX1NDT1BFX1BPUF9TVEFURRAFEiIKHlRBU0tfU0NPUEVfU0NIRURVTEVSX1BPU1RfVEFTSxAGEiQKIFRBU0tfU0NPUEVfUkVRVUVTVF9JRExFX0NBTExCQUNLEAcSHwobVEFTS19TQ09QRV9YTUxfSFRUUF9SRVFVRVNUEAgSHgoaVEFTS19TQ09QRV9TT0ZUX05BVklHQVRJT04QCUoECAQQBUoECAUQBlIjY29udGludWF0aW9uX3Rhc2tfaWRfdG9fYmVfcmVzdG9yZWRSDnBhcmVudF90YXNrX2lkItUBChNDaHJvbWVUYXNrQW5ub3RhdG9yEhAKCGlwY19oYXNoGAEgASgNEhUKDXRhc2tfZGVsYXlfdXMYAiABKAQSRgoMZGVsYXlfcG9saWN5GAMgASgOMjAucGVyZmV0dG8ucHJvdG9zLkNocm9tZVRhc2tBbm5vdGF0b3IuRGVsYXlQb2xpY3kiTQoLRGVsYXlQb2xpY3kSFgoSRkxFWElCTEVfTk9fU09PTkVSEAASGQoVRkxFWElCTEVfUFJFRkVSX0VBUkxZEAESCwoHUFJFQ0lTRRACIigKFENocm9tZUJyb3dzZXJDb250ZXh0EgoKAmlkGAIgASgJSgQIARACIsQBChZDaHJvbWVQcm9maWxlRGVzdHJveWVyEhMKC3Byb2ZpbGVfcHRyGAEgASgGEhkKEWlzX29mZl90aGVfcmVjb3JkGAIgASgIEhYKDm90cl9wcm9maWxlX2lkGAMgASgJEh4KFmhvc3RfY291bnRfYXRfY3JlYXRpb24YBCABKA0SIQoZaG9zdF9jb3VudF9hdF9kZXN0cnVjdGlvbhgFIAEoDRIfChdyZW5kZXJfcHJvY2Vzc19ob3N0X3B0chgGIAEoBiKJAQofQ2hyb21lVGFza1Bvc3RlZFRvRGlzYWJsZWRRdWV1ZRIXCg90YXNrX3F1ZXVlX25hbWUYASABKAkSHgoWdGltZV9zaW5jZV9kaXNhYmxlZF9tcxgCIAEoBBIQCghpcGNfaGFzaBgDIAEoDRIbChNzb3VyY2VfbG9jYXRpb25faWlkGAQgASgEIi8KEENocm9tZVJhc3RlclRhc2sSGwoTc291cmNlX2ZyYW1lX251bWJlchgBIAEoAyJMChZDaHJvbWVNZXNzYWdlUHVtcEZvclVJEhIKCm1lc3NhZ2VfaWQYASABKA0SHgoWd2FpdF9mb3Jfb2JqZWN0X3Jlc3VsdBgCIAEoDSKzAQoXUmVuZGVyRnJhbWVJbXBsRGVsZXRpb24SNQoGaW50ZW50GAEgASgOMiUucGVyZmV0dG8ucHJvdG9zLkZyYW1lRGVsZXRlSW50ZW50aW9uEhoKEmhhc19wZW5kaW5nX2NvbW1pdBgCIAEoCBIpCiFoYXNfcGVuZGluZ19jcm9zc19kb2N1bWVudF9jb21taXQYAyABKAgSGgoSZnJhbWVfdHJlZV9ub2RlX2lkGAQgASgEInwKIVNob3VsZFN3YXBCcm93c2luZ0luc3RhbmNlc1Jlc3VsdBIaChJmcmFtZV90cmVlX25vZGVfaWQYASABKAQSOwoGcmVzdWx0GAIgASgOMisucGVyZmV0dG8ucHJvdG9zLlNob3VsZFN3YXBCcm93c2luZ0luc3RhbmNlIvADChFGcmFtZVRyZWVOb2RlSW5mbxIaChJmcmFtZV90cmVlX25vZGVfaWQYASABKAQSFQoNaXNfbWFpbl9mcmFtZRgCIAEoCBIpCiFoYXNfc3BlY3VsYXRpdmVfcmVuZGVyX2ZyYW1lX2hvc3QYAyABKAgSPAoSY3VycmVudF9mcmFtZV9ob3N0GAQgASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBJAChZzcGVjdWxhdGl2ZV9mcmFtZV9ob3N0GAUgASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBJACgpmcmFtZV90eXBlGAYgASgOMiwucGVyZmV0dG8ucHJvdG9zLkZyYW1lVHJlZU5vZGVJbmZvLkZyYW1lVHlwZRI7ChFkZWJ1Z19hbm5vdGF0aW9ucxhjIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5EZWJ1Z0Fubm90YXRpb24ifgoJRnJhbWVUeXBlEhoKFlVOU1BFQ0lGSUVEX0ZSQU1FX1RZUEUQABIMCghTVUJGUkFNRRABEhYKElBSSU1BUllfTUFJTl9GUkFNRRACEhgKFFBSRVJFTkRFUl9NQUlOX0ZSQU1FEAMSFQoRRkVOQ0VEX0ZSQU1FX1JPT1QQBCKWAQobQ2hyb21lSGFzaGVkUGVyZm9ybWFuY2VNYXJrEhEKCXNpdGVfaGFzaBgBIAEoDRIMCgRzaXRlGAIgASgJEhEKCW1hcmtfaGFzaBgDIAEoDRIMCgRtYXJrGAQgASgJEhwKFGV4ZWN1dGlvbl9jb250ZXh0X2lkGAUgASgNEhcKD3NlcXVlbmNlX251bWJlchgGIAEoDSKOAgoUQ2hyb21lU3FsRGlhZ25vc3RpY3MSIgoacmVwb3J0ZWRfc3FsaXRlX2Vycm9yX2NvZGUYASABKAUSEgoKZXJyb3JfY29kZRgCIAEoBRISCgpsYXN0X2Vycm5vGAMgASgFEhUKDXNxbF9zdGF0ZW1lbnQYBCABKAkSDwoHdmVyc2lvbhgFIAEoBRIXCg9zY2hlbWFfc3FsX3Jvd3MYBiADKAkSHgoWc2NoZW1hX290aGVyX3Jvd19uYW1lcxgHIAMoCRIYChBoYXNfdmFsaWRfaGVhZGVyGAggASgIEhgKEGhhc192YWxpZF9zY2hlbWEYCSABKAgSFQoNZXJyb3JfbWVzc2FnZRgKIAEoCSLPAQoXQ2hyb21lV2ViQXBwQmFkTmF2aWdhdGUSEAoIaXNfa2lvc2sYASABKAgSIQoZaGFzX2hvc3RlZF9hcHBfY29udHJvbGxlchgCIAEoCBIQCghhcHBfbmFtZRgDIAEoCRIXCg9zeXN0ZW1fYXBwX3R5cGUYBCABKA0SJwofd2ViX2FwcF9wcm92aWRlcl9yZWdpc3RyeV9yZWFkeRgFIAEoCBIrCiNzeXN0ZW1fd2ViX2FwcF9tYW5hZ2VyX3N5bmNocm9uaXplZBgGIAEoCCIlCg5SZXNvdXJjZUJ1bmRsZRITCgtyZXNvdXJjZV9pZBgBIAEoDSLMAQoRUmVuZGVyUHJvY2Vzc0hvc3QSCgoCaWQYASABKA0SFAoMcHJvY2Vzc19sb2NrGAIgASgJEhgKEGNoaWxkX3Byb2Nlc3NfaWQYAyABKAUSPgoPYnJvd3Nlcl9jb250ZXh0GAQgASgLMiUucGVyZmV0dG8ucHJvdG9zLkNocm9tZUJyb3dzZXJDb250ZXh0EjsKEWRlYnVnX2Fubm90YXRpb25zGGMgAygLMiAucGVyZmV0dG8ucHJvdG9zLkRlYnVnQW5ub3RhdGlvbiIvChlSZW5kZXJQcm9jZXNzSG9zdExpc3RlbmVyEhIKCnJvdXRpbmdfaWQYASABKA0i1wEKGFJlbmRlclByb2Nlc3NIb3N0Q2xlYW51cBIWCg5saXN0ZW5lcl9jb3VudBgBIAEoDRIcChRrZWVwX2FsaXZlX3JlZl9jb3VudBgCIAEoDRIgChhzaHV0ZG93bl9kZWxheV9yZWZfY291bnQYAyABKA0SGAoQd29ya2VyX3JlZl9jb3VudBgEIAEoDRIfChdwZW5kaW5nX3JldXNlX3JlZl9jb3VudBgFIAEoDRIoCiBuYXZpZ2F0aW9uX3N0YXRlX2tlZXBhbGl2ZV9jb3VudBgGIAEoDSL4AQocQ2hpbGRQcm9jZXNzTGF1bmNoZXJQcmlvcml0eRIXCg9pc19iYWNrZ3JvdW5kZWQYASABKAgSGQoRaGFzX3BlbmRpbmdfdmlld3MYAiABKAgSTAoKaW1wb3J0YW5jZRgDIAEoDjI4LnBlcmZldHRvLnByb3Rvcy5DaGlsZFByb2Nlc3NMYXVuY2hlclByaW9yaXR5LkltcG9ydGFuY2UiVgoKSW1wb3J0YW5jZRIVChFJTVBPUlRBTkNFX05PUk1BTBABEhcKE0lNUE9SVEFOQ0VfTU9ERVJBVEUQAhIYChRJTVBPUlRBTkNFX0lNUE9SVEFOVBADIk0KEUNocm9tZUV4dGVuc2lvbklkEhQKDGV4dGVuc2lvbl9pZBgBIAEoCRIiChpwc2V1ZG9ueW1pemVkX2V4dGVuc2lvbl9pZBgCIAEoDSKuAgoMU2l0ZUluc3RhbmNlEhgKEHNpdGVfaW5zdGFuY2VfaWQYASABKAUSHAoUYnJvd3NpbmdfaW5zdGFuY2VfaWQYAiABKAUSEgoKaXNfZGVmYXVsdBgDIAEoCBITCgtoYXNfcHJvY2VzcxgEIAEoCBIlCh1yZWxhdGVkX2FjdGl2ZV9jb250ZW50c19jb3VudBgFIAEoBRIYChBhY3RpdmVfcmZoX2NvdW50GAYgASgFEj8KE3NpdGVfaW5zdGFuY2VfZ3JvdXAYByABKAsyIi5wZXJmZXR0by5wcm90b3MuU2l0ZUluc3RhbmNlR3JvdXASOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uIsEBChFTaXRlSW5zdGFuY2VHcm91cBIeChZzaXRlX2luc3RhbmNlX2dyb3VwX2lkGAEgASgFEhoKEmFjdGl2ZV9mcmFtZV9jb3VudBgCIAEoBRIzCgdwcm9jZXNzGAMgASgLMiIucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0EjsKEWRlYnVnX2Fubm90YXRpb25zGGMgAygLMiAucGVyZmV0dG8ucHJvdG9zLkRlYnVnQW5ub3RhdGlvbiJfChdXZWJFeHBvc2VkSXNvbGF0aW9uSW5mbxITCgtpc19pc29sYXRlZBgBIAEoCBIOCgZvcmlnaW4YAiABKAkSHwoXaXNfaXNvbGF0ZWRfYXBwbGljYXRpb24YAyABKAgitgIKB1VybEluZm8SCwoDdXJsGAEgASgJEg4KBm9yaWdpbhgCIAEoCRIUCgxpc19zYW5kYm94ZWQYAyABKAgSDgoGaXNfcGRmGAQgASgIEiMKG2lzX2Nvb3BfaXNvbGF0aW9uX3JlcXVlc3RlZBgFIAEoCBIgChhvcmlnaW5faXNvbGF0aW9uX3JlcXVlc3QYBiABKAUSMQopaXNfcHJlZmV0Y2hfd2l0aF9jcm9zc19zaXRlX2NvbnRhbWluYXRpb24YByABKAgSTAoad2ViX2V4cG9zZWRfaXNvbGF0aW9uX2luZm8YCCABKAsyKC5wZXJmZXR0by5wcm90b3MuV2ViRXhwb3NlZElzb2xhdGlvbkluZm8SIAoYc3RvcmFnZV9wYXJ0aXRpb25fY29uZmlnGAkgASgJIv8BCg5SZW5kZXJWaWV3SG9zdBISCgpydmhfbWFwX2lkGAEgASgFEhIKCnJvdXRpbmdfaWQYAiABKAUSEgoKcHJvY2Vzc19pZBgDIAEoBRIzCgdwcm9jZXNzGAYgASgLMiIucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0EiAKGGlzX2luX2JhY2tfZm9yd2FyZF9jYWNoZRgEIAEoCBIdChVyZW5kZXJlcl92aWV3X2NyZWF0ZWQYBSABKAgSOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uIu0BChRSZW5kZXJGcmFtZVByb3h5SG9zdBISCgpyb3V0aW5nX2lkGAEgASgFEhIKCnByb2Nlc3NfaWQYAiABKAUSEgoKcnZoX21hcF9pZBgDIAEoBRIYChBzaXRlX2luc3RhbmNlX2lkGAQgASgFEiIKGmlzX3JlbmRlcl9mcmFtZV9wcm94eV9saXZlGAUgASgIEh4KFnNpdGVfaW5zdGFuY2VfZ3JvdXBfaWQYBiABKAUSOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uInsKC0FuZHJvaWRWaWV3EgoKAmlkGAEgASgFEhEKCXBhcmVudF9pZBgCIAEoBRIQCghpc19zaG93bhgDIAEoCBIQCghpc19kaXJ0eRgEIAEoCBISCgpjbGFzc19uYW1lGAUgASgJEhUKDXJlc291cmNlX25hbWUYBiABKAkiSwoPQW5kcm9pZEFjdGl2aXR5EgwKBG5hbWUYASABKAkSKgoEdmlldxgCIAMoCzIcLnBlcmZldHRvLnByb3Rvcy5BbmRyb2lkVmlldyJFCg9BbmRyb2lkVmlld0R1bXASMgoIYWN0aXZpdHkYASADKAsyIC5wZXJmZXR0by5wcm90b3MuQW5kcm9pZEFjdGl2aXR5IjgKIlBhcmthYmxlU3RyaW5nQ29tcHJlc3NJbkJhY2tncm91bmQSEgoKc2l6ZV9ieXRlcxgBIAEoBSJSChRQYXJrYWJsZVN0cmluZ1VucGFyaxISCgpzaXplX2J5dGVzGAEgASgFEiYKHnRpbWVfc2luY2VfbGFzdF9kaXNrX3dyaXRlX3NlYxgCIAEoBSLBAgolQ2hyb21lU2FtcGxpbmdQcm9maWxlclNhbXBsZUNvbGxlY3RlZBITCgtmcmFtZV9jb3VudBgBIAEoBRJYCgx3cml0ZV9zdGF0dXMYAiABKA4yQi5wZXJmZXR0by5wcm90b3MuQ2hyb21lU2FtcGxpbmdQcm9maWxlclNhbXBsZUNvbGxlY3RlZC5Xcml0ZVN0YXR1cxIZChFzYW1wbGVkX3RocmVhZF9pZBgDIAEoBSKNAQoLV3JpdGVTdGF0dXMSFQoRV1JJVEVfU1RBVFVTX05PTkUQABIhCh1XUklURV9TVEFUVVNfQlVGRkVSSU5HX1NBTVBMRRABEiEKHVdSSVRFX1NUQVRVU19XUklUSU5HX0JVRkZFUkVEEAISIQodV1JJVEVfU1RBVFVTX1dSSVRJTkdfVE9fVFJBQ0UQAyL1AgojU2VuZEJlZ2luTWFpbkZyYW1lVG9Db21taXRCcmVha2Rvd24SHgoWaGFuZGxlX2lucHV0X2V2ZW50c191cxgBIAEoBBISCgphbmltYXRlX3VzGAIgASgEEhcKD3N0eWxlX3VwZGF0ZV91cxgDIAEoBBIYChBsYXlvdXRfdXBkYXRlX3VzGAQgASgEEh8KF2FjY2Vzc2liaWxpdHlfdXBkYXRlX3VzGAwgASgEEhMKC3ByZXBhaW50X3VzGAUgASgEEh0KFWNvbXBvc2l0aW5nX2lucHV0c191cxgGIAEoBBIiChpjb21wb3NpdGluZ19hc3NpZ25tZW50c191cxgHIAEoBBIQCghwYWludF91cxgIIAEoBBIbChNjb21wb3NpdGVfY29tbWl0X3VzGAkgASgEEhgKEHVwZGF0ZV9sYXllcnNfdXMYCiABKAQSJQodYmVnaW5fbWFpbl9zZW50X3RvX3N0YXJ0ZWRfdXMYCyABKAQiQQoXR2xvYmFsUmVuZGVyRnJhbWVIb3N0SWQSEgoKcm91dGluZ19pZBgBIAEoBRISCgpwcm9jZXNzX2lkGAIgASgFIrYBChRCcm93c2luZ0NvbnRleHRTdGF0ZRIcChRicm93c2luZ19pbnN0YW5jZV9pZBgBIAEoBRIhChVjb29wX3JlbGF0ZWRfZ3JvdXBfaWQYAiABKAVCAhgBEiAKGGNvb3BfcmVsYXRlZF9ncm91cF90b2tlbhgDIAEoCRI7ChFkZWJ1Z19hbm5vdGF0aW9ucxhjIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5EZWJ1Z0Fubm90YXRpb24i5QYKD1JlbmRlckZyYW1lSG9zdBIzCgdwcm9jZXNzGAEgASgLMiIucGVyZmV0dG8ucHJvdG9zLlJlbmRlclByb2Nlc3NIb3N0EkYKFHJlbmRlcl9mcmFtZV9ob3N0X2lkGAIgASgLMigucGVyZmV0dG8ucHJvdG9zLkdsb2JhbFJlbmRlckZyYW1lSG9zdElkEkgKD2xpZmVjeWNsZV9zdGF0ZRgDIAEoDjIvLnBlcmZldHRvLnByb3Rvcy5SZW5kZXJGcmFtZUhvc3QuTGlmZWN5Y2xlU3RhdGUSDgoGb3JpZ2luGAQgASgJEgsKA3VybBgFIAEoCRIaChJmcmFtZV90cmVlX25vZGVfaWQYBiABKAQSNAoNc2l0ZV9pbnN0YW5jZRgHIAEoCzIdLnBlcmZldHRvLnByb3Rvcy5TaXRlSW5zdGFuY2USMAoGcGFyZW50GAggASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBI4Cg5vdXRlcl9kb2N1bWVudBgJIAEoCzIgLnBlcmZldHRvLnByb3Rvcy5SZW5kZXJGcmFtZUhvc3QSMgoIZW1iZWRkZXIYCiABKAsyIC5wZXJmZXR0by5wcm90b3MuUmVuZGVyRnJhbWVIb3N0EkUKFmJyb3dzaW5nX2NvbnRleHRfc3RhdGUYCyABKAsyJS5wZXJmZXR0by5wcm90b3MuQnJvd3NpbmdDb250ZXh0U3RhdGUSQAoKZnJhbWVfdHlwZRgMIAEoDjIsLnBlcmZldHRvLnByb3Rvcy5GcmFtZVRyZWVOb2RlSW5mby5GcmFtZVR5cGUSOwoRZGVidWdfYW5ub3RhdGlvbnMYYyADKAsyIC5wZXJmZXR0by5wcm90b3MuRGVidWdBbm5vdGF0aW9uIrUBCg5MaWZlY3ljbGVTdGF0ZRIPCgtVTlNQRUNJRklFRBAAEg8KC1NQRUNVTEFUSVZFEAESEgoOUEVORElOR19DT01NSVQQAhIQCgxQUkVSRU5ERVJJTkcQAxIKCgZBQ1RJVkUQBBIZChVJTl9CQUNLX0ZPUldBUkRfQ0FDSEUQBRIbChdSVU5OSU5HX1VOTE9BRF9IQU5ETEVSUxAGEhcKE1JFQURZX1RPX0JFX0RFTEVURUQQByLlBQoUQ2hyb21lVGhyZWFkUG9vbFRhc2sSRQoNdGFza19wcmlvcml0eRgBIAEoDjIuLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVUaHJlYWRQb29sVGFzay5Qcmlvcml0eRJLCg5leGVjdXRpb25fbW9kZRgCIAEoDjIzLnBlcmZldHRvLnByb3Rvcy5DaHJvbWVUaHJlYWRQb29sVGFzay5FeGVjdXRpb25Nb2RlEhYKDnNlcXVlbmNlX3Rva2VuGAMgASgDElEKEXNodXRkb3duX2JlaGF2aW9yGAQgASgOMjYucGVyZmV0dG8ucHJvdG9zLkNocm9tZVRocmVhZFBvb2xUYXNrLlNodXRkb3duQmVoYXZpb3IidQoIUHJpb3JpdHkSGAoUUFJJT1JJVFlfVU5TUEVDSUZJRUQQABIYChRQUklPUklUWV9CRVNUX0VGRk9SVBABEhkKFVBSSU9SSVRZX1VTRVJfVklTSUJMRRACEhoKFlBSSU9SSVRZX1VTRVJfQkxPQ0tJTkcQAyKkAQoNRXhlY3V0aW9uTW9kZRIeChpFWEVDVFVJT05fTU9ERV9VTlNQRUNJRklFRBAAEhsKF0VYRUNVVElPTl9NT0RFX1BBUkFMTEVMEAESHAoYRVhFQ1VUSU9OX01PREVfU0VRVUVOQ0VEEAISIAocRVhFQ1VUSU9OX01PREVfU0lOR0xFX1RIUkVBRBADEhYKEkVYRUNVVElPTl9NT0RFX0pPQhAEIq8BChBTaHV0ZG93bkJlaGF2aW9yEiEKHVNIVVRET1dOX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASKgomU0hVVERPV05fQkVIQVZJT1JfQ09OVElOVUVfT05fU0hVVERPV04QARImCiJTSFVURE9XTl9CRUhBVklPUl9TS0lQX09OX1NIVVRET1dOEAISJAogU0hVVERPV05fQkVIQVZJT1JfQkxPQ0tfU0hVVERPV04QAyLtEQomQmFja0ZvcndhcmRDYWNoZUNhblN0b3JlRG9jdW1lbnRSZXN1bHQSiQEKJmJhY2tfZm9yd2FyZF9jYWNoZV9ub3RfcmVzdG9yZWRfcmVhc29uGAEgASgOMlkucGVyZmV0dG8ucHJvdG9zLkJhY2tGb3J3YXJkQ2FjaGVDYW5TdG9yZURvY3VtZW50UmVzdWx0LkJhY2tGb3J3YXJkQ2FjaGVOb3RSZXN0b3JlZFJlYXNvbiK2EAohQmFja0ZvcndhcmRDYWNoZU5vdFJlc3RvcmVkUmVhc29uEhIKDk5PVF9NQUlOX0ZSQU1FEAESHwobQkFDS19GT1JXQVJEX0NBQ0hFX0RJU0FCTEVEEAISIQodUkVMQVRFRF9BQ1RJVkVfQ09OVEVOVFNfRVhJU1QQAxIWChJIVFRQX1NUQVRVU19OT1RfT0sQBBIcChhTQ0hFTUVfTk9UX0hUVFBfT1JfSFRUUFMQBRILCgdMT0FESU5HEAYSHAoYV0FTX0dSQU5URURfTUVESUFfQUNDRVNTEAcSGAoUQkxPQ0tMSVNURURfRkVBVFVSRVMQCBIoCiRESVNBQkxFX0ZPUl9SRU5ERVJfRlJBTUVfSE9TVF9DQUxMRUQQCRIWChJET01BSU5fTk9UX0FMTE9XRUQQChIXChNIVFRQX01FVEhPRF9OT1RfR0VUEAsSGgoWU1VCRlJBTUVfSVNfTkFWSUdBVElORxAMEgsKB1RJTUVPVVQQDRIPCgtDQUNIRV9MSU1JVBAOEhgKFEpBVkFTQ1JJUFRfRVhFQ1VUSU9OEA8SGwoXUkVOREVSRVJfUFJPQ0VTU19LSUxMRUQQEBIcChhSRU5ERVJFUl9QUk9DRVNTX0NSQVNIRUQQERIfChtHUkFOVEVEX01FRElBX1NUUkVBTV9BQ0NFU1MQExIiCh5TQ0hFRFVMRVJfVFJBQ0tFRF9GRUFUVVJFX1VTRUQQFBIhCh1DT05GTElDVElOR19CUk9XU0lOR19JTlNUQU5DRRAVEhEKDUNBQ0hFX0ZMVVNIRUQQFhIlCiFTRVJWSUNFX1dPUktFUl9WRVJTSU9OX0FDVElWQVRJT04QFxIUChBTRVNTSU9OX1JFU1RPUkVEEBgSCwoHVU5LTk9XThAZEh8KG1NFUlZJQ0VfV09SS0VSX1BPU1RfTUVTU0FHRRAaEj8KO0VOVEVSRURfQkFDS19GT1JXQVJEX0NBQ0hFX0JFRk9SRV9TRVJWSUNFX1dPUktFUl9IT1NUX0FEREVEEBsSJAogTk9UX01PU1RfUkVDRU5UX05BVklHQVRJT05fRU5UUlkQHBIYChRTRVJWSUNFX1dPUktFUl9DTEFJTRAdEhoKFklHTk9SRV9FVkVOVF9BTkRfRVZJQ1QQHhIXChNIQVZFX0lOTkVSX0NPTlRFTlRTEB8SHAoYVElNRU9VVF9QVVRUSU5HX0lOX0NBQ0hFECASLQopQkFDS19GT1JXQVJEX0NBQ0hFX0RJU0FCTEVEX0JZX0xPV19NRU1PUlkQIRIvCitCQUNLX0ZPUldBUkRfQ0FDSEVfRElTQUJMRURfQllfQ09NTUFORF9MSU5FECISHgoaTkVUV09SS19SRVFVRVNUX1JFRElSRUNURUQQIxIbChdORVRXT1JLX1JFUVVFU1RfVElNRU9VVBAkEiAKHE5FVFdPUktfRVhDRUVEU19CVUZGRVJfTElNSVQQJRIoCiROQVZJR0FUSU9OX0NBTkNFTExFRF9XSElMRV9SRVNUT1JJTkcQJhItCilCQUNLX0ZPUldBUkRfQ0FDSEVfRElTQUJMRURfRk9SX1BSRVJFTkRFUhAnEh8KG1VTRVJfQUdFTlRfT1ZFUlJJREVfRElGRkVSUxAoEjYKMk5FVFdPUktfUkVRVUVTVF9EQVRBUElQRV9EUkFJTkVEX0FTX0JZVEVTX0NPTlNVTUVSECkSGgoWRk9SRUdST1VORF9DQUNIRV9MSU1JVBAqEiEKHUJST1dTSU5HX0lOU1RBTkNFX05PVF9TV0FQUEVEECsSLAooQkFDS19GT1JXQVJEX0NBQ0hFX0RJU0FCTEVEX0ZPUl9ERUxFR0FURRAsEiQKIE9QVF9JTl9VTkxPQURfSEVBREVSX05PVF9QUkVTRU5UEC0SJwojVU5MT0FEX0hBTkRMRVJfRVhJU1RTX0lOX01BSU5fRlJBTUUQLhIlCiFVTkxPQURfSEFORExFUl9FWElTVFNfSU5fU1VCRlJBTUUQLxIhCh1TRVJWSUNFX1dPUktFUl9VTlJFR0lTVFJBVElPThAwEhoKFkNBQ0hFX0NPTlRST0xfTk9fU1RPUkUQMRIqCiZDQUNIRV9DT05UUk9MX05PX1NUT1JFX0NPT0tJRV9NT0RJRklFRBAyEjQKMENBQ0hFX0NPTlRST0xfTk9fU1RPUkVfSFRUUF9PTkxZX0NPT0tJRV9NT0RJRklFRBAzEhQKEE5PX1JFU1BPTlNFX0hFQUQQNBI0CjBBQ1RJVkFUSU9OX05BVklHQVRJT05fRElTQUxMT1dFRF9GT1JfQlVHXzEyMzQ4NTcQNRISCg5FUlJPUl9ET0NVTUVOVBA2EhoKFkZFTkNFRF9GUkFNRVNfRU1CRURERVIQNxITCg9DT09LSUVfRElTQUJMRUQQOBIWChJIVFRQX0FVVEhfUkVRVUlSRUQQORISCg5DT09LSUVfRkxVU0hFRBA6EiAKHEJST0FEQ0FTVF9DSEFOTkVMX09OX01FU1NBR0UQOxIcChhXRUJWSUVXX1NFVFRJTkdTX0NIQU5HRUQQPBIlCiFXRUJWSUVXX0pBVkFTQ1JJUFRfT0JKRUNUX0NIQU5HRUQQPRIlCiFXRUJWSUVXX01FU1NBR0VfTElTVEVORVJfSU5KRUNURUQQPhIrCidXRUJWSUVXX1NBRkVfQlJPV1NJTkdfQUxMT1dMSVNUX0NIQU5HRUQQPxItCilXRUJWSUVXX0RPQ1VNRU5UX1NUQVJUX0pBVkFTQ1JJUFRfQ0hBTkdFRBBAIr8aCh9SZW5kZXJlck1haW5UaHJlYWRUYXNrRXhlY3V0aW9uEkwKCXRhc2tfdHlwZRgBIAEoDjI5LnBlcmZldHRvLnByb3Rvcy5SZW5kZXJlck1haW5UaHJlYWRUYXNrRXhlY3V0aW9uLlRhc2tUeXBlEhUKDWZyYW1lX3Zpc2libGUYAiABKAgSFAoMcGFnZV92aXNpYmxlGAMgASgIEk4KCmZyYW1lX3R5cGUYBCABKA4yOi5wZXJmZXR0by5wcm90b3MuUmVuZGVyZXJNYWluVGhyZWFkVGFza0V4ZWN1dGlvbi5GcmFtZVR5cGUSEwoLaXNfYWRfZnJhbWUYBSABKAgiqxcKCFRhc2tUeXBlEhUKEVRBU0tfVFlQRV9VTktOT1dOEAASHgoaVEFTS19UWVBFX0RPTV9NQU5JUFVMQVRJT04QARIeChpUQVNLX1RZUEVfVVNFUl9JTlRFUkFDVElPThACEhgKFFRBU0tfVFlQRV9ORVRXT1JLSU5HEAMSIAocVEFTS19UWVBFX05FVFdPUktJTkdfQ09OVFJPTBAEEh8KG1RBU0tfVFlQRV9ISVNUT1JZX1RSQVZFUlNBTBAFEhMKD1RBU0tfVFlQRV9FTUJFRBAGEiEKHVRBU0tfVFlQRV9NRURJQV9FTEVNRU5UX0VWRU5UEAcSJwojVEFTS19UWVBFX0NBTlZBU19CTE9CX1NFUklBTElaQVRJT04QCBIXChNUQVNLX1RZUEVfTUlDUk9UQVNLEAkSMwovVEFTS19UWVBFX0pBVkFTQ1JJUFRfVElNRVJfREVMQVlFRF9ISUdIX05FU1RJTkcQChIaChZUQVNLX1RZUEVfUkVNT1RFX0VWRU5UEAsSGAoUVEFTS19UWVBFX1dFQl9TT0NLRVQQDBIcChhUQVNLX1RZUEVfUE9TVEVEX01FU1NBR0UQDRIkCiBUQVNLX1RZUEVfVU5TSElQUEVEX1BPUlRfTUVTU0FHRRAOEhoKFlRBU0tfVFlQRV9GSUxFX1JFQURJTkcQDxIdChlUQVNLX1RZUEVfREFUQUJBU0VfQUNDRVNTEBASGgoWVEFTS19UWVBFX1BSRVNFTlRBVElPThAREhQKEFRBU0tfVFlQRV9TRU5TT1IQEhIiCh5UQVNLX1RZUEVfUEVSRk9STUFOQ0VfVElNRUxJTkUQExIUChBUQVNLX1RZUEVfV0VCX0dMEBQSFwoTVEFTS19UWVBFX0lETEVfVEFTSxAVEh8KG1RBU0tfVFlQRV9NSVNDX1BMQVRGT1JNX0FQSRAWEh4KGlRBU0tfVFlQRV9JTlRFUk5BTF9ERUZBVUxUEBcSHgoaVEFTS19UWVBFX0lOVEVSTkFMX0xPQURJTkcQGBIbChdUQVNLX1RZUEVfSU5URVJOQUxfVEVTVBAaEiEKHVRBU0tfVFlQRV9JTlRFUk5BTF9XRUJfQ1JZUFRPEBsSHAoYVEFTS19UWVBFX0lOVEVSTkFMX01FRElBEB0SJQohVEFTS19UWVBFX0lOVEVSTkFMX01FRElBX1JFQUxUSU1FEB4SJwojVEFTS19UWVBFX0lOVEVSTkFMX1VTRVJfSU5URVJBQ1RJT04QIBIgChxUQVNLX1RZUEVfSU5URVJOQUxfSU5TUEVDVE9SECESJwojVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfVjgQJRIvCitUQVNLX1RZUEVfTUFJTl9USFJFQURfVEFTS19RVUVVRV9DT01QT1NJVE9SECYSLAooVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfREVGQVVMVBAnEioKJlRBU0tfVFlQRV9NQUlOX1RIUkVBRF9UQVNLX1FVRVVFX0lOUFVUECgSKQolVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfSURMRRApEiwKKFRBU0tfVFlQRV9NQUlOX1RIUkVBRF9UQVNLX1FVRVVFX0NPTlRST0wQKxIsCihUQVNLX1RZUEVfSU5URVJOQUxfSU5URVJTRUNUSU9OX09CU0VSVkVSECwSMgouVEFTS19UWVBFX0NPTVBPU0lUT1JfVEhSRUFEX1RBU0tfUVVFVUVfREVGQVVMVBAtEi4KKlRBU0tfVFlQRV9XT1JLRVJfVEhSRUFEX1RBU0tfUVVFVUVfREVGQVVMVBAuEikKJVRBU0tfVFlQRV9XT1JLRVJfVEhSRUFEX1RBU0tfUVVFVUVfVjgQLxIxCi1UQVNLX1RZUEVfV09SS0VSX1RIUkVBRF9UQVNLX1FVRVVFX0NPTVBPU0lUT1IQMBIwCixUQVNLX1RZUEVfQ09NUE9TSVRPUl9USFJFQURfVEFTS19RVUVVRV9JTlBVVBAxEjMKL1RBU0tfVFlQRV9ORVRXT1JLSU5HX1dJVEhfVVJMX0xPQURFUl9BTk5PVEFUSU9OEDISHgoaVEFTS19UWVBFX1dPUktFUl9BTklNQVRJT04QMxIiCh5UQVNLX1RZUEVfSU5URVJOQUxfVFJBTlNMQVRJT04QNxIaChZUQVNLX1RZUEVfRk9OVF9MT0FESU5HEDgSIwofVEFTS19UWVBFX0FQUExJQ0FUSU9OX0xJRkVDWUNMRRA5Eh4KGlRBU0tfVFlQRV9CQUNLR1JPVU5EX0ZFVENIEDoSGAoUVEFTS19UWVBFX1BFUk1JU1NJT04QOxIrCidUQVNLX1RZUEVfU0VSVklDRV9XT1JLRVJfQ0xJRU5UX01FU1NBR0UQPBImCiJUQVNLX1RZUEVfSU5URVJOQUxfQ09OVEVOVF9DQVBUVVJFED0SMQotVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfTUVNT1JZX1BVUkdFED4SLAooVEFTS19UWVBFX0lOVEVSTkFMX05BVklHQVRJT05fQVNTT0NJQVRFRBA/EjgKNFRBU0tfVFlQRV9JTlRFUk5BTF9OQVZJR0FUSU9OX0FTU09DSUFURURfVU5GUkVFWkFCTEUQQBIuCipUQVNLX1RZUEVfSU5URVJOQUxfQ09OVElOVUVfU0NSSVBUX0xPQURJTkcQQRIXChNUQVNLX1RZUEVfV0VCX0xPQ0tTEEISKAokVEFTS19UWVBFX1dFQl9TQ0hFRFVMSU5HX1BPU1RFRF9UQVNLEEMSLworVEFTS19UWVBFX0lOVEVSTkFMX0ZSQU1FX0xJRkVfQ1lDTEVfQ09OVFJPTBBEEi8KK1RBU0tfVFlQRV9NQUlOX1RIUkVBRF9UQVNLX1FVRVVFX05PTl9XQUtJTkcQRRIjCh9UQVNLX1RZUEVfSU5URVJOQUxfRklORF9JTl9QQUdFEEYSMAosVEFTS19UWVBFX0lOVEVSTkFMX0hJR0hfUFJJT1JJVFlfTE9DQUxfRlJBTUUQRxIoCiRUQVNLX1RZUEVfSkFWQVNDUklQVF9USU1FUl9JTU1FRElBVEUQSBIyCi5UQVNLX1RZUEVfSkFWQVNDUklQVF9USU1FUl9ERUxBWUVEX0xPV19ORVNUSU5HEEkSMQotVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfSVBDX1RSQUNLSU5HEEoSJAogVEFTS19UWVBFX05FVFdPUktJTkdfVU5GUkVFWkFCTEUQSxIXChNUQVNLX1RZUEVfV0FLRV9MT0NLEEwSJQohVEFTS19UWVBFX0lOVEVSTkFMX0lOUFVUX0JMT0NLSU5HEE0SFQoRVEFTS19UWVBFX1dFQl9HUFUQThIuCipUQVNLX1RZUEVfSU5URVJOQUxfUE9TVF9NRVNTQUdFX0ZPUldBUkRJTkcQTxIuCipUQVNLX1RZUEVfSU5URVJOQUxfTkFWSUdBVElPTl9DQU5DRUxMQVRJT04QUBIrCidUQVNLX1RZUEVfTE9XX1BSSU9SSVRZX1NDUklQVF9FWEVDVVRJT04QURIVChFUQVNLX1RZUEVfU1RPUkFHRRBSEjwKOFRBU0tfVFlQRV9ORVRXT1JLSU5HX1VORlJFRVpBQkxFX1JFTkRFUl9CTE9DS0lOR19MT0FESU5HEFMSNAowVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfVjhfVVNFUl9WSVNJQkxFEFQSFwoTVEFTS19UWVBFX0NMSVBCT0FSRBBVEh4KGlRBU0tfVFlQRV9NQUNISU5FX0xFQVJOSU5HEFYSMwovVEFTS19UWVBFX01BSU5fVEhSRUFEX1RBU0tfUVVFVUVfVjhfQkVTVF9FRkZPUlQQVyKNAQoJRnJhbWVUeXBlEhoKFkZSQU1FX1RZUEVfVU5TUEVDSUZJRUQQABIZChVGUkFNRV9UWVBFX01BSU5fRlJBTUUQARIjCh9GUkFNRV9UWVBFX1NBTUVfT1JJR0lOX1NVQkZSQU1FEAISJAogRlJBTUVfVFlQRV9DUk9TU19PUklHSU5fU1VCRlJBTUUQAyLwBgoMRXZlbnRMYXRlbmN5EjsKCmV2ZW50X3R5cGUYASABKA4yJy5wZXJmZXR0by5wcm90b3MuRXZlbnRMYXRlbmN5LkV2ZW50VHlwZRIYChBoYXNfaGlnaF9sYXRlbmN5GAIgASgIEhoKEmhpZ2hfbGF0ZW5jeV9zdGFnZRgDIAMoCRIYChBldmVudF9sYXRlbmN5X2lkGAQgASgDEh8KF2lzX2phbmt5X3Njcm9sbGVkX2ZyYW1lGAUgASgIEhkKEXZzeW5jX2ludGVydmFsX21zGAYgASgBIpYFCglFdmVudFR5cGUSGgoWRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEhEKDU1PVVNFX1BSRVNTRUQQARISCg5NT1VTRV9SRUxFQVNFRBACEg8KC01PVVNFX1dIRUVMEAMSDwoLS0VZX1BSRVNTRUQQBBIQCgxLRVlfUkVMRUFTRUQQBRIRCg1UT1VDSF9QUkVTU0VEEAYSEgoOVE9VQ0hfUkVMRUFTRUQQBxIPCgtUT1VDSF9NT1ZFRBAIEhgKFEdFU1RVUkVfU0NST0xMX0JFR0lOEAkSGQoVR0VTVFVSRV9TQ1JPTExfVVBEQVRFEAoSFgoSR0VTVFVSRV9TQ1JPTExfRU5EEAsSFgoSR0VTVFVSRV9ET1VCTEVfVEFQEAwSFgoSR0VTVFVSRV9MT05HX1BSRVNTEA0SFAoQR0VTVFVSRV9MT05HX1RBUBAOEhYKEkdFU1RVUkVfU0hPV19QUkVTUxAPEg8KC0dFU1RVUkVfVEFQEBASFgoSR0VTVFVSRV9UQVBfQ0FOQ0VMEBESFAoQR0VTVFVSRV9UQVBfRE9XThASEhsKF0dFU1RVUkVfVEFQX1VOQ09ORklSTUVEEBMSGgoWR0VTVFVSRV9UV09fRklOR0VSX1RBUBAUEh8KG0ZJUlNUX0dFU1RVUkVfU0NST0xMX1VQREFURRAVEhEKDU1PVVNFX0RSQUdHRUQQFhIXChNHRVNUVVJFX1BJTkNIX0JFR0lOEBcSFQoRR0VTVFVSRV9QSU5DSF9FTkQQGBIYChRHRVNUVVJFX1BJTkNIX1VQREFURRAZEiIKHklORVJUSUFMX0dFU1RVUkVfU0NST0xMX1VQREFURRAaEhUKEU1PVVNFX01PVkVEX0VWRU5UEBsiugcKEFByb2Nlc3NTaW5nbGV0b24SawohcmVtb3RlX3Byb2Nlc3NfaW50ZXJhY3Rpb25fcmVzdWx0GAEgASgOMkAucGVyZmV0dG8ucHJvdG9zLlByb2Nlc3NTaW5nbGV0b24uUmVtb3RlUHJvY2Vzc0ludGVyYWN0aW9uUmVzdWx0EmsKH3JlbW90ZV9wcm9jZXNzX3Rlcm1pbmF0ZV9yZWFzb24YAiABKA4yQi5wZXJmZXR0by5wcm90b3MuUHJvY2Vzc1NpbmdsZXRvbi5SZW1vdGVIdW5nUHJvY2Vzc1Rlcm1pbmF0ZVJlYXNvbiL5AwoeUmVtb3RlUHJvY2Vzc0ludGVyYWN0aW9uUmVzdWx0EiIKHklOVEVSQUNUSU9OX1JFU1VMVF9VTlNQRUNJRklFRBAAEhQKEFRFUk1JTkFURV9GQUlMRUQQARIcChhSRU1PVEVfUFJPQ0VTU19OT1RfRk9VTkQQAhIaChZURVJNSU5BVEVfV0FJVF9USU1FT1VUEAMSIAocUlVOTklOR19QUk9DRVNTX05PVElGWV9FUlJPUhAEEiQKIFRFUk1JTkFURV9OT1RfRU5PVUdIX1BFUk1JU1NJT05TEAUSIAocUkVNT1RFX1BST0NFU1NfU0hVVFRJTkdfRE9XThAGEhQKEFBST0ZJTEVfVU5MT0NLRUQQBxIgChxQUk9GSUxFX1VOTE9DS0VEX0JFRk9SRV9LSUxMEAgSGQoVU0FNRV9CUk9XU0VSX0lOU1RBTkNFEAkSJQohU0FNRV9CUk9XU0VSX0lOU1RBTkNFX0JFRk9SRV9LSUxMEAoSGQoVRkFJTEVEX1RPX0VYVFJBQ1RfUElEEAsSFQoRSU5WQUxJRF9MT0NLX0ZJTEUQDBIWChJPUlBIQU5FRF9MT0NLX0ZJTEUQDRIcChhVU0VSX1JFRlVTRURfVEVSTUlOQVRJT04QDhIXChNURVJNSU5BVEVfU1VDQ0VFREVEEGQizwEKIFJlbW90ZUh1bmdQcm9jZXNzVGVybWluYXRlUmVhc29uEiAKHFRFUk1JTkFURV9SRUFTT05fVU5TUEVDSUZJRUQQABIdChlVU0VSX0FDQ0VQVEVEX1RFUk1JTkFUSU9OEAESGwoXTk9fVklTSUJMRV9XSU5ET1dfRk9VTkQQAhIcChhOT1RJRllfQVRURU1QVFNfRVhDRUVERUQQAxIXChNTT0NLRVRfV1JJVEVfRkFJTEVEEAQSFgoSU09DS0VUX1JFQURfRkFJTEVEEAUijgIKEE5hdmlnYXRpb25IYW5kbGUSFQoNbmF2aWdhdGlvbl9pZBgBIAEoAxIVCg1oYXNfY29tbWl0dGVkGAIgASgIEhUKDWlzX2Vycm9yX3BhZ2UYAyABKAgSOwoPZnJhbWVfdHJlZV9ub2RlGAQgASgLMiIucGVyZmV0dG8ucHJvdG9zLkZyYW1lVHJlZU5vZGVJbmZvEjsKEXJlbmRlcl9mcmFtZV9ob3N0GAUgASgLMiAucGVyZmV0dG8ucHJvdG9zLlJlbmRlckZyYW1lSG9zdBI7ChFkZWJ1Z19hbm5vdGF0aW9ucxhjIAMoCzIgLnBlcmZldHRvLnByb3Rvcy5EZWJ1Z0Fubm90YXRpb24iKgoKQW5kcm9pZElQQxIMCgRuYW1lGAEgASgJEg4KBmR1cl9tcxgCIAEoAyL6DgoTU2VxdWVuY2VNYW5hZ2VyVGFzaxI/Cghwcmlvcml0eRgBIAEoDjItLnBlcmZldHRvLnByb3Rvcy5TZXF1ZW5jZU1hbmFnZXJUYXNrLlByaW9yaXR5EkIKCnF1ZXVlX25hbWUYAiABKA4yLi5wZXJmZXR0by5wcm90b3MuU2VxdWVuY2VNYW5hZ2VyVGFzay5RdWV1ZU5hbWUirQIKCFByaW9yaXR5EgsKB1VOS05PV04QABIUChBDT05UUk9MX1BSSU9SSVRZEAESFAoQSElHSEVTVF9QUklPUklUWRACEhYKElZFUllfSElHSF9QUklPUklUWRADEhEKDUhJR0hfUFJJT1JJVFkQBBITCg9OT1JNQUxfUFJJT1JJVFkQBRIQCgxMT1dfUFJJT1JJVFkQBhIYChRCRVNUX0VGRk9SVF9QUklPUklUWRAHEh4KGkhJR0hfUFJJT1JJVFlfQ09OVElOVUFUSU9OEAgSIAocTk9STUFMX1BSSU9SSVRZX0NPTlRJTlVBVElPThAJEh0KGUxPV19QUklPUklUWV9DT05USU5VQVRJT04QChIbChdFWFRSRU1FTFlfSElHSF9QUklPUklUWRALIq0LCglRdWV1ZU5hbWUSDgoKVU5LTk9XTl9UURAAEg4KCkRFRkFVTFRfVFEQARIfChtUQVNLX0VOVklST05NRU5UX0RFRkFVTFRfVFEQAhIMCghURVNUMl9UURADEgsKB1RFU1RfVFEQBBIOCgpDT05UUk9MX1RREAUSGAoUU1VCVEhSRUFEX0NPTlRST0xfVFEQBhIYChRTVUJUSFJFQURfREVGQVVMVF9UURAHEhYKElNVQlRIUkVBRF9JTlBVVF9UURAIEhUKEVVJX0JFU1RfRUZGT1JUX1RREAkSEwoPVUlfQk9PVFNUUkFQX1RREAoSEQoNVUlfQ09OVFJPTF9UURALEhEKDVVJX0RFRkFVTFRfVFEQDBIlCiFVSV9OQVZJR0FUSU9OX05FVFdPUktfUkVTUE9OU0VfVFEQDRIZChVVSV9SVU5fQUxMX1BFTkRJTkdfVFEQDhIxCi1VSV9TRVJWSUNFX1dPUktFUl9TVE9SQUdFX0NPTlRST0xfUkVTUE9OU0VfVFEQDxIQCgxVSV9USFJFQURfVFEQEBIXChNVSV9VU0VSX0JMT0NLSU5HX1RREBESFAoQVUlfVVNFUl9JTlBVVF9UURASEhYKElVJX1VTRVJfVklTSUJMRV9UURATEhUKEUlPX0JFU1RfRUZGT1JUX1RREBQSEwoPSU9fQk9PVFNUUkFQX1RREBUSEQoNSU9fQ09OVFJPTF9UURAWEhEKDUlPX0RFRkFVTFRfVFEQFxIlCiFJT19OQVZJR0FUSU9OX05FVFdPUktfUkVTUE9OU0VfVFEQGBIZChVJT19SVU5fQUxMX1BFTkRJTkdfVFEQGRIxCi1JT19TRVJWSUNFX1dPUktFUl9TVE9SQUdFX0NPTlRST0xfUkVTUE9OU0VfVFEQGhIQCgxJT19USFJFQURfVFEQGxIXChNJT19VU0VSX0JMT0NLSU5HX1RREBwSFAoQSU9fVVNFUl9JTlBVVF9UURAdEhYKEklPX1VTRVJfVklTSUJMRV9UURAeEhEKDUNPTVBPU0lUT1JfVFEQHxIPCgtERVRBQ0hFRF9UURAgEhcKE0ZSQU1FX0RFRkVSUkFCTEVfVFEQIRIcChhGUkFNRV9MT0FESU5HX0NPTlRST0xfVFEQIhIUChBGUkFNRV9MT0FESU5HX1RRECMSFQoRRlJBTUVfUEFVU0FCTEVfVFEQJBIZChVGUkFNRV9USFJPVFRMRUFCTEVfVFEQJRIXChNGUkFNRV9VTlBBVVNBQkxFX1RRECYSCwoHSURMRV9UURAnEgwKCElOUFVUX1RRECgSJAogSVBDX1RSQUNLSU5HX0ZPUl9DQUNIRURfUEFHRVNfVFEQKRIRCg1OT05fV0FLSU5HX1RRECoSDAoIT1RIRVJfVFEQKxIJCgVWOF9UURAsEhUKEVdFQl9TQ0hFRFVMSU5HX1RREC0SEgoOV09SS0VSX0lETEVfVFEQLhIWChJXT1JLRVJfUEFVU0FCTEVfVFEQLxIdChlXT1JLRVJfVEhSRUFEX0lOVEVSTkFMX1RREDASGgoWV09SS0VSX1RIUk9UVExFQUJMRV9UURAxEhgKFFdPUktFUl9VTlBBVVNBQkxFX1RREDISHAoYV09SS0VSX1dFQl9TQ0hFRFVMSU5HX1RREDMSIgoeVUlfVVNFUl9CTE9DS0lOR19ERUZFUlJBQkxFX1RREDQSIgoeSU9fVVNFUl9CTE9DS0lOR19ERUZFUlJBQkxFX1RREDUSKAokVUlfQkVGT1JFX1VOTE9BRF9CUk9XU0VSX1JFU1BPTlNFX1RREDYSKAokSU9fQkVGT1JFX1VOTE9BRF9CUk9XU0VSX1JFU1BPTlNFX1RREDcSFgoSVjhfVVNFUl9WSVNJQkxFX1RREDgSFQoRVjhfQkVTVF9FRkZPUlRfVFEQOSKUCgoOQW5kcm9pZFRvb2xiYXISUAoUYmxvY2tfY2FwdHVyZV9yZWFzb24YASABKA4yMi5wZXJmZXR0by5wcm90b3MuQW5kcm9pZFRvb2xiYXIuQmxvY2tDYXB0dXJlUmVhc29uElAKFGFsbG93X2NhcHR1cmVfcmVhc29uGAIgASgOMjIucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRUb29sYmFyLkFsbG93Q2FwdHVyZVJlYXNvbhJPChNzbmFwc2hvdF9kaWZmZXJlbmNlGAMgASgOMjIucGVyZmV0dG8ucHJvdG9zLkFuZHJvaWRUb29sYmFyLlNuYXBzaG90RGlmZmVyZW5jZSLmAwoSQmxvY2tDYXB0dXJlUmVhc29uEhMKD0JMT0NLRURfVU5LTk9XThAAEiIKHkJMT0NLRURfVE9PTEJBUl9PUl9SRVNVTFRfTlVMTBABEhoKFkJMT0NLRURfVklFV19OT1RfRElSVFkQAhIZChVCTE9DS0VEX1NOQVBTSE9UX1NBTUUQAxIdChlCTE9DS0VEX1VSTF9CQVJfSEFTX0ZPQ1VTEAQSJQohQkxPQ0tFRF9VUkxfQkFSX0ZPQ1VTX0lOX1BST0dSRVNTEAUSMQotQkxPQ0tFRF9PUFRJT05BTF9CVVRUT05fQU5JTUFUSU9OX0lOX1BST0dSRVNTEAYSLQopQkxPQ0tFRF9TVEFUVVNfSUNPTl9BTklNQVRJT05fSU5fUFJPR1JFU1MQBxIbChdCTE9DS0VEX1NDUk9MTF9BQkxBVElPThAIEiMKH0JMT0NLRURfQlJPV1NFUl9DT05UUk9MU19MT0NLRUQQCRIdChlCTE9DS0VEX1RBQl9TV0lUQ0hFUl9NT0RFEAoSIAocQkxPQ0tFRF9DT01QT1NJVE9SX0lOX01PVElPThALEh0KGUJMT0NLRURfTlRQX1lfVFJBTlNMQVRJT04QDBIWChJCTE9DS0VEX0ZVTExTQ1JFRU4QDSJlChJBbGxvd0NhcHR1cmVSZWFzb24SEwoPQUxMT1dFRF9VTktOT1dOEAASGQoVQUxMT1dFRF9GT1JDRV9DQVBUVVJFEAESHwobQUxMT1dFRF9TTkFQU0hPVF9ESUZGRVJFTkNFEAIivAMKElNuYXBzaG90RGlmZmVyZW5jZRINCglESUZGX05PTkUQABINCglESUZGX05VTEwQARINCglESUZGX1RJTlQQAhISCg5ESUZGX1RBQl9DT1VOVBADEhgKFERJRkZfT1BUSU9OQUxfQlVUVE9OEAQSFQoRRElGRl9WSVNVQUxfU1RBVEUQBRIWChJESUZGX1NFQ1VSSVRZX0lDT04QBhIdChlESUZGX1NIT1dJTkdfVVBEQVRFX0JBREdFEAcSFgoSRElGRl9QQUlOVF9QUkVWSUVXEAgSEQoNRElGRl9QUk9HUkVTUxAJEhsKF0RJRkZfTE9DQVRJT05fQkFSX1dJRFRIEAoSEQoNRElGRl9VUkxfVEVYVBALEhQKEERJRkZfSE9NRV9CVVRUT04QDBITCg9ESUZGX1RJVExFX1RFWFQQDRIWChJESUZGX0NDVF9BTklNQVRJT04QDhIYChRESUZGX0JPT0tNQVJLX0JVVFRPThAPEhQKEERJRkZfQkFDS19CVVRUT04QEBIXChNESUZGX0ZPUldBUkRfQlVUVE9OEBESFgoSRElGRl9SRUxPQURfQlVUVE9OEBIiHgoPQWN0aXZlUHJvY2Vzc2VzEgsKA3BpZBgBIAMoBSK7AQoXVWttUGFnZUxvYWRUaW1pbmdVcGRhdGUSFQoNdWttX3NvdXJjZV9pZBgBIAEoAxISCgpsYXRlc3RfdXJsGAIgASgJEiYKHmxhdGVzdF9jdW11bGF0aXZlX2xheW91dF9zaGlmdBgDIAEoAhIqCiJsYXRlc3RfbGFyZ2VzdF9jb250ZW50ZnVsX3BhaW50X21zGAQgASgBEiEKGWZpcnN0X2NvbnRlbnRmdWxfcGFpbnRfbXMYBSABKAEivgEKDFY4U3RhY2tGcmFtZRIVCg1mdW5jdGlvbl9uYW1lGAEgASgJEkUKD3NjcmlwdF9sb2NhdGlvbhgCIAEoCzIsLnBlcmZldHRvLnByb3Rvcy5WOFN0YWNrRnJhbWUuU2NyaXB0TG9jYXRpb24aUAoOU2NyaXB0TG9jYXRpb24SEgoKc291cmNlX3VybBgBIAEoCRITCgtsaW5lX251bWJlchgCIAEoAxIVCg1jb2x1bW5fbnVtYmVyGAMgASgDIoIEChVCbGlua0V4ZWN1dGlvbkNvbnRleHQSQAoEdHlwZRgBIAEoDjIyLnBlcmZldHRvLnByb3Rvcy5CbGlua0V4ZWN1dGlvbkNvbnRleHQuQ29udGV4dFR5cGUSCwoDdXJsGAIgASgJEg4KBm9yaWdpbhgDIAEoCRJECgp3b3JsZF90eXBlGAQgASgOMjAucGVyZmV0dG8ucHJvdG9zLkJsaW5rRXhlY3V0aW9uQ29udGV4dC5Xb3JsZFR5cGUieAoLQ29udGV4dFR5cGUSEwoPVU5LTk9XTl9DT05URVhUEAASCgoGV0lORE9XEAESCwoHV09SS0xFVBACEhQKEERFRElDQVRFRF9XT1JLRVIQAxIRCg1TSEFSRURfV09SS0VSEAQSEgoOU0VSVklDRV9XT1JLRVIQBSLJAQoJV29ybGRUeXBlEhEKDVdPUkxEX1VOS05PV04QABIOCgpXT1JMRF9NQUlOEAESEgoOV09STERfSVNPTEFURUQQAhIcChhXT1JMRF9JTlNQRUNUT1JfSVNPTEFURUQQAxIRCg1XT1JMRF9SRUdfRVhQEAQSKgomV09STERfRk9SX1Y4X0NPTlRFWFRfU05BUFNIT1RfTk9OX01BSU4QBRIQCgxXT1JMRF9XT1JLRVIQBhIWChJXT1JMRF9TSEFET1dfUkVBTE0QByLCAQoTQmxpbmtTb3VyY2VMb2NhdGlvbhIVCg1mdW5jdGlvbl9uYW1lGAEgASgJEhEKCXNjcmlwdF9pZBgCIAEoBRILCgN1cmwYAyABKAkSEwoLbGluZV9udW1iZXIYBCABKAUSFQoNY29sdW1uX251bWJlchgFIAEoBRITCgtzdGFja190cmFjZRgGIAEoCRIzCgxzdGFja19mcmFtZXMYByADKAsyHS5wZXJmZXR0by5wcm90b3MuVjhTdGFja0ZyYW1lIv8HChNCbGlua0hpZ2hFbnRyb3B5QVBJEkEKEWV4ZWN1dGlvbl9jb250ZXh0GAEgASgLMiYucGVyZmV0dG8ucHJvdG9zLkJsaW5rRXhlY3V0aW9uQ29udGV4dBJECgpjYWxsZWRfYXBpGAIgASgLMjAucGVyZmV0dG8ucHJvdG9zLkJsaW5rSGlnaEVudHJvcHlBUEkuQ2FsbGVkSnNBcGkSPQoPc291cmNlX2xvY2F0aW9uGAMgASgLMiQucGVyZmV0dG8ucHJvdG9zLkJsaW5rU291cmNlTG9jYXRpb24SRAoLZm9udF9sb29rdXAYBCABKAsyLy5wZXJmZXR0by5wcm90b3MuQmxpbmtIaWdoRW50cm9weUFQSS5Gb250TG9va3VwGo8CChJKU0Z1bmN0aW9uQXJndW1lbnQSUgoEdHlwZRgBIAEoDjJELnBlcmZldHRvLnByb3Rvcy5CbGlua0hpZ2hFbnRyb3B5QVBJLkpTRnVuY3Rpb25Bcmd1bWVudC5Bcmd1bWVudFR5cGUSDQoFdmFsdWUYAiABKAkilQEKDEFyZ3VtZW50VHlwZRIQCgxVTktOT1dOX1RZUEUQABINCglOVUxMX1RZUEUQARINCglVTkRFRklORUQQAhIKCgZCSUdJTlQQAxILCgdCT09MRUFOEAQSDAoIRlVOQ1RJT04QBRIKCgZOVU1CRVIQBhIKCgZTVFJJTkcQBxIKCgZTWU1CT0wQCBIKCgZPQkpFQ1QQCRq1AQoLQ2FsbGVkSnNBcGkSEgoKaWRlbnRpZmllchgBIAEoCRJPCg5mdW5jX2FyZ3VtZW50cxgCIAMoCzI3LnBlcmZldHRvLnByb3Rvcy5CbGlua0hpZ2hFbnRyb3B5QVBJLkpTRnVuY3Rpb25Bcmd1bWVudBJBCg9zb3VyY2VfbG9jYXRpb24YAyABKAsyJC5wZXJmZXR0by5wcm90b3MuQmxpbmtTb3VyY2VMb2NhdGlvbkICGAEajwIKCkZvbnRMb29rdXASTAoEdHlwZRgBIAEoDjI+LnBlcmZldHRvLnByb3Rvcy5CbGlua0hpZ2hFbnRyb3B5QVBJLkZvbnRMb29rdXAuRm9udExvb2t1cFR5cGUSDAoEbmFtZRgCIAEoCRIOCgZ3ZWlnaHQYAyABKAQSDQoFd2lkdGgYBCABKAQSDQoFc2xvcGUYBSABKAQidwoORm9udExvb2t1cFR5cGUSHAoYRk9OVF9MT09LVVBfVU5LTk9XTl9UWVBFEAASJQohRk9OVF9MT09LVVBfVU5JUVVFX09SX0ZBTUlMWV9OQU1FEAESIAocRk9OVF9MT09LVVBfVU5JUVVFX05BTUVfT05MWRACIokDChRUYWJTd2l0Y2hNZWFzdXJlbWVudBI8CgZyZXN1bHQYASABKA4yLC5wZXJmZXR0by5wcm90b3MuVGFiU3dpdGNoTWVhc3VyZW1lbnQuUmVzdWx0EkEKCXRhYl9zdGF0ZRgCIAEoDjIuLnBlcmZldHRvLnByb3Rvcy5UYWJTd2l0Y2hNZWFzdXJlbWVudC5UYWJTdGF0ZSJnCgZSZXN1bHQSFgoSUkVTVUxUX1VOU1BFQ0lGSUVEEAASEgoOUkVTVUxUX1NVQ0NFU1MQARIVChFSRVNVTFRfSU5DT01QTEVURRACEhoKFlJFU1VMVF9NSVNTRURfVEFCX0hJREUQAyKGAQoIVGFiU3RhdGUSFQoRU1RBVEVfVU5TUEVDSUZJRUQQABIbChdTVEFURV9XSVRIX1NBVkVEX0ZSQU1FUxABEiAKHFNUQVRFX0xPQURFRF9OT19TQVZFRF9GUkFNRVMQAhIkCiBTVEFURV9OT1RfTE9BREVEX05PX1NBVkVEX0ZSQU1FUxADIu0DCgxTY3JvbGxEZWx0YXMSEAoIdHJhY2VfaWQYASABKAMSGAoQb3JpZ2luYWxfZGVsdGFfeBgCIAEoAhIYChBvcmlnaW5hbF9kZWx0YV95GAMgASgCEh0KFWNvYWxlc2NlZF90b190cmFjZV9pZBgEIAEoAxImCh5wcm92aWRlZF90b19jb21wb3NpdG9yX2RlbHRhX3gYBSABKAISJgoecHJvdmlkZWRfdG9fY29tcG9zaXRvcl9kZWx0YV95GAYgASgCEhcKD3Zpc3VhbF9vZmZzZXRfeBgHIAEoAxIXCg92aXN1YWxfb2Zmc2V0X3kYCCABKAMSIAoYZXZlbnRfY291bnRfaW5fZ3B1X2ZyYW1lGAkgASgFEh4KFnRyYWNlX2lkc19pbl9ncHVfZnJhbWUYCiADKAMSJQodb3JpZ2luYWxfZGVsdGFfaW5fZ3B1X2ZyYW1lX3kYCyABKAISJgoecHJlZGljdGVkX2RlbHRhX2luX2dwdV9mcmFtZV95GAwgASgCEjEKKXNlZ3JlZ2F0ZWRfb3JpZ2luYWxfZGVsdGFzX2luX2dwdV9mcmFtZV95GA0gAygCEjIKKnNlZ3JlZ2F0ZWRfcHJlZGljdGVkX2RlbHRhc19pbl9ncHVfZnJhbWVfeRgOIAMoAiKtAwoYV2luUmVuZGVyQXVkaW9Gcm9tU291cmNlEicKH2lhdWRpb2NsaWVudF9idWZmZXJfc2l6ZV9mcmFtZXMYASABKA0SKwojaWF1ZGlvY2xpZW50X2J1ZmZlcl91bmZpbGxlZF9mcmFtZXMYAiABKA0SGgoScGFja2V0X3NpemVfZnJhbWVzGAMgASgNEhoKEm51bV93cml0dGVuX2ZyYW1lcxgEIAEoBBIdChVudW1fcGxheWVkX291dF9mcmFtZXMYBSABKAQSJAocaWF1ZGlvY2xvY2tfZGV2aWNlX2ZyZXF1ZW5jeRgGIAEoBBIjChtpYXVkaW9jbG9ja19zdHJlYW1fcG9zaXRpb24YByABKAQSIAoYaWF1ZGlvY2xvY2tfcXBjX3Bvc2l0aW9uGAggASgEEi8KJ2lhdWRpb2Nsb2NrX3N0cmVhbV9wb3NpdGlvbl9pbmNyZWFzZV9tcxgJIAEoAxIsCiRpYXVkaW9jbG9ja19xcGNfcG9zaXRpb25faW5jcmVhc2VfbXMYCiABKAMSGAoQcGxheW91dF9kZWxheV9tcxgLIAEoAyKRBAoOTWFjQVVIQUxTdHJlYW0SGQoRaW5wdXRfYnVmZmVyX3NpemUYASABKAUSGgoSb3V0cHV0X2J1ZmZlcl9zaXplGAIgASgNEhMKC3NhbXBsZV9yYXRlGAMgASgFEicKH29zX3JlcXVlc3RfcGxheW91dF90aW1ldGlja3NfdXMYBCABKAMSHQoVc291cmNlX3JlcXVlc3RfZnJhbWVzGAUgASgFEicKH3NvdXJjZV9yZXF1ZXN0X3BsYXlvdXRfZGVsYXlfdXMYBiABKAMSKwojc291cmNlX3JlcXVlc3RfcGxheW91dF90aW1ldGlja3NfdXMYByABKAMSKwojc291cmNlX3JlcXVlc3RfY3VycmVudF90aW1ldGlja3NfdXMYCCABKAMSGwoTaGFyZHdhcmVfbGF0ZW5jeV91cxgJIAEoAxImCh5hdWRpb3RpbWVzdGFtcF9ob3N0X3RpbWVfdmFsaWQYCiABKAgSKAogYXVkaW90aW1lc3RhbXBfbWFjaF90aW1ldGlja3NfdXMYCyABKAMSKQohYXVkaW90aW1lc3RhbXBfc2FtcGxlX3RpbWVfZnJhbWVzGAwgASgBEi4KJmF1ZGlvdGltZXN0YW1wX2xhc3Rfc2FtcGxlX3RpbWVfZnJhbWVzGA0gASgBEh4KFmxvc3RfYXVkaW9fZHVyYXRpb25fdXMYDiABKAMikgIKD0xpbnV4QWxzYU91dHB1dBInCh9zb3VyY2VfcmVxdWVzdF9wbGF5b3V0X2RlbGF5X3VzGAEgASgDEhUKDWZvcndhcmRfYnl0ZXMYAiABKAUSEwoLc2FtcGxlX3JhdGUYAyABKAUSKAogZ2V0Y3VycmVudGRlbGF5X3BjbV9kZWxheV9mcmFtZXMYBCABKAUSKgoiZ2V0Y3VycmVudGRlbGF5X2Fsc2FfYnVmZmVyX2ZyYW1lcxgFIAEoBRIoCiBnZXRjdXJyZW50ZGVsYXlfYXZhaWxhYmxlX2ZyYW1lcxgGIAEoBRIqCiJnZXRjdXJyZW50ZGVsYXlfZmluYWxfZGVsYXlfZnJhbWVzGAcgASgFIqoBChBMaW51eFB1bHNlT3V0cHV0EicKH3NvdXJjZV9yZXF1ZXN0X3BsYXlvdXRfZGVsYXlfdXMYASABKAMSEwoLc2FtcGxlX3JhdGUYAiABKAUSIAoYaW5wdXRfYnVmZmVyX3NpemVfZnJhbWVzGAMgASgFEhwKFHN0cmVhbV9yZXF1ZXN0X2J5dGVzGAQgASgNEhgKEGZyYW1lX3NpemVfYnl0ZXMYBSABKA0izQEKC0NyYXNVbmlmaWVkEhwKFHVuZGVycnVuX2R1cmF0aW9uX3VzGAEgASgDEiEKGWxhc3RfdW5kZXJydW5fZHVyYXRpb25fdXMYAiABKAMSIwobdW5kZXJydW5fZ2xpdGNoX2R1cmF0aW9uX3VzGAMgASgDEhIKCmxhdGVuY3lfdXMYBCABKAMSGAoQcmVxdWVzdGVkX2ZyYW1lcxgFIAEoBRIVCg1maWxsZWRfZnJhbWVzGAYgASgNEhMKC3NhbXBsZV9yYXRlGAcgASgFIj8KFkNocm9tZVVuZ3Vlc3NhYmxlVG9rZW4SEQoJbG93X3Rva2VuGAEgASgEEhIKCmhpZ2hfdG9rZW4YAiABKAQiQgoLRnJhbWVTaW5rSWQSHAoUZnJhbWVfc2lua19jbGllbnRfaWQYASABKA0SFQoNZnJhbWVfc2lua19pZBgCIAEoDSKTAQoOTG9jYWxTdXJmYWNlSWQSHgoWcGFyZW50X3NlcXVlbmNlX251bWJlchgBIAEoDRIdChVjaGlsZF9zZXF1ZW5jZV9udW1iZXIYAiABKA0SQgoRdW5ndWVzc2FibGVfdG9rZW4YAyABKAsyJy5wZXJmZXR0by5wcm90b3MuQ2hyb21lVW5ndWVzc2FibGVUb2tlbiKpDAoWQ2hyb21lR3JhcGhpY3NQaXBlbGluZRI+CgRzdGVwGAEgASgOMjAucGVyZmV0dG8ucHJvdG9zLkNocm9tZUdyYXBoaWNzUGlwZWxpbmUuU3RlcE5hbWUSMwoNZnJhbWVfc2lua19pZBgCIAEoCzIcLnBlcmZldHRvLnByb3Rvcy5GcmFtZVNpbmtJZBIeChZzdXJmYWNlX2ZyYW1lX3RyYWNlX2lkGAogASgDEhgKEGRpc3BsYXlfdHJhY2VfaWQYAyABKAMSKgoiYWdncmVnYXRlZF9zdXJmYWNlX2ZyYW1lX3RyYWNlX2lkcxgIIAMoAxI5ChBsb2NhbF9zdXJmYWNlX2lkGAQgASgLMh8ucGVyZmV0dG8ucHJvdG9zLkxvY2FsU3VyZmFjZUlkEhYKDmZyYW1lX3NlcXVlbmNlGAUgASgDElgKFGZyYW1lX3NraXBwZWRfcmVhc29uGAYgASgOMjoucGVyZmV0dG8ucHJvdG9zLkNocm9tZUdyYXBoaWNzUGlwZWxpbmUuRnJhbWVTa2lwcGVkUmVhc29uEhgKEGJhY2tlbmRfZnJhbWVfaWQYByABKAMSEwoLbGF0ZW5jeV9pZHMYCSADKAMimwcKCFN0ZXBOYW1lEhAKDFNURVBfVU5LTk9XThAAEh4KGlNURVBfRElEX05PVF9QUk9EVUNFX0ZSQU1FEAESKQolU1RFUF9ESURfTk9UX1BST0RVQ0VfQ09NUE9TSVRPUl9GUkFNRRAWEiIKHlNURVBfR0VORVJBVEVfQ09NUE9TSVRPUl9GUkFNRRACEh0KGVNURVBfR0VORVJBVEVfUkVOREVSX1BBU1MQAxIaChZTVEVQX0lTU1VFX0JFR0lOX0ZSQU1FEAQSIQodU1RFUF9SRUNFSVZFX0NPTVBPU0lUT1JfRlJBTUUQBRIcChhTVEVQX1JFQ0VJVkVfQkVHSU5fRlJBTUUQBhIkCiBTVEVQX1JFQ0VJVkVfQkVHSU5fRlJBTUVfRElTQ0FSRBAHEiIKGlNURVBfU0VORF9CRUdJTl9NQUlOX0ZSQU1FEAgaAggBEiAKHFNURVBfU1VCTUlUX0NPTVBPU0lUT1JfRlJBTUUQCRIWChJTVEVQX0RSQVdfQU5EX1NXQVAQFRIcChhTVEVQX1NVUkZBQ0VfQUdHUkVHQVRJT04QChIZChVTVEVQX1NFTkRfQlVGRkVSX1NXQVAQCxIgChxTVEVQX0JVRkZFUl9TV0FQX1BPU1RfU1VCTUlUEAwSGwoXU1RFUF9GSU5JU0hfQlVGRkVSX1NXQVAQDRIZChVTVEVQX1NXQVBfQlVGRkVSU19BQ0sQDhInCiNTVEVQX0VYT19DT05TVFJVQ1RfQ09NUE9TSVRPUl9GUkFNRRAPEiQKIFNURVBfRVhPX1NVQk1JVF9DT01QT1NJVE9SX0ZSQU1FEBASJQohU1RFUF9FWE9fRElTQ0FSRF9DT01QT1NJVE9SX0ZSQU1FEBESIQodU1RFUF9CQUNLRU5EX1NFTkRfQlVGRkVSX1NXQVAQEhIoCiRTVEVQX0JBQ0tFTkRfU0VORF9CVUZGRVJfUE9TVF9TVUJNSVQQExIjCh9TVEVQX0JBQ0tFTkRfRklOSVNIX0JVRkZFUl9TV0FQEBQSKQolU1RFUF9TRU5EX09OX0JFR0lOX0ZSQU1FX01PSk9fTUVTU0FHRRAXEjQKMFNURVBfU0VORF9PTl9TVEFOREFMT05FX0JFR0lOX0ZSQU1FX01PSk9fTUVTU0FHRRAYEjIKLlNURVBfU0VORF9TVUJNSVRfQ09NUE9TSVRPUl9GUkFNRV9NT0pPX01FU1NBR0UQGSK5AQoSRnJhbWVTa2lwcGVkUmVhc29uEhoKFlNLSVBQRURfUkVBU09OX1VOS05PV04QABIiCh5TS0lQUEVEX1JFQVNPTl9SRUNPVkVSX0xBVEVOQ1kQARIcChhTS0lQUEVEX1JFQVNPTl9OT19EQU1BR0UQAhIiCh5TS0lQUEVEX1JFQVNPTl9XQUlUSU5HX09OX01BSU4QAxIhCh1TS0lQUEVEX1JFQVNPTl9EUkFXX1RIUk9UVExFRBAEIv8DChZMaWJ1bndpbmRzdGFja1Vud2luZGVyEkUKCmVycm9yX2NvZGUYASABKA4yMS5wZXJmZXR0by5wcm90b3MuTGlidW53aW5kc3RhY2tVbndpbmRlci5FcnJvckNvZGUSEgoKbnVtX2ZyYW1lcxgCIAEoBSKJAwoJRXJyb3JDb2RlEg4KCkVSUk9SX05PTkUQABIYChRFUlJPUl9NRU1PUllfSU5WQUxJRBABEhUKEUVSUk9SX1VOV0lORF9JTkZPEAISFQoRRVJST1JfVU5TVVBQT1JURUQQAxIVChFFUlJPUl9JTlZBTElEX01BUBAEEh0KGUVSUk9SX01BWF9GUkFNRVNfRVhDRUVERUQQBRIYChRFUlJPUl9SRVBFQVRFRF9GUkFNRRAGEhUKEUVSUk9SX0lOVkFMSURfRUxGEAcSHwobRVJST1JfVEhSRUFEX0RPRVNfTk9UX0VYSVNUEAgSGAoURVJST1JfVEhSRUFEX1RJTUVPVVQQCRIVChFFUlJPUl9TWVNURU1fQ0FMTBAKEhIKDkVSUk9SX0JBRF9BUkNIEAsSFAoQRVJST1JfTUFQU19QQVJTRRAMEioKJkVSUk9SX0lOVkFMSURfUEFSQU1FVEVSX0xJQlVOV0lORFNUQUNLEA0SFQoRRVJST1JfUFRSQUNFX0NBTEwQDiK4AwoWU2Nyb2xsUHJlZGljdG9yTWV0cmljcxJXChZwcmV2X2V2ZW50X2ZyYW1lX3ZhbHVlGAEgASgLMjcucGVyZmV0dG8ucHJvdG9zLlNjcm9sbFByZWRpY3Rvck1ldHJpY3MuRXZlbnRGcmFtZVZhbHVlElYKFWN1cl9ldmVudF9mcmFtZV92YWx1ZRgCIAEoCzI3LnBlcmZldHRvLnByb3Rvcy5TY3JvbGxQcmVkaWN0b3JNZXRyaWNzLkV2ZW50RnJhbWVWYWx1ZRJXChZuZXh0X2V2ZW50X2ZyYW1lX3ZhbHVlGAMgASgLMjcucGVyZmV0dG8ucHJvdG9zLlNjcm9sbFByZWRpY3Rvck1ldHJpY3MuRXZlbnRGcmFtZVZhbHVlEhoKEmphbmt5X3ZhbHVlX3BpeGVscxgEIAEoAhIZChFoYXNfbWlzc2VkX3ZzeW5jcxgFIAEoCBIWCg5pc19zbG93X3Njcm9sbBgGIAEoCBpFCg9FdmVudEZyYW1lVmFsdWUSFgoOZXZlbnRfdHJhY2VfaWQYASABKAMSGgoSZGVsdGFfdmFsdWVfcGl4ZWxzGAIgASgCIi4KCFBhZ2VMb2FkEhUKDW5hdmlnYXRpb25faWQYASABKAMSCwoDdXJsGAIgASgJIsEECgdTdGFydFVwEhMKC2FjdGl2aXR5X2lkGAEgASgDEj4KDGxhdW5jaF9jYXVzZRgDIAEoDjIoLnBlcmZldHRvLnByb3Rvcy5TdGFydFVwLkxhdW5jaENhdXNlVHlwZSLgAwoPTGF1bmNoQ2F1c2VUeXBlEhoKDVVOSU5JVElBTElaRUQQ////////////ARIJCgVPVEhFUhAAEg4KCkNVU1RPTV9UQUIQARIHCgNUV0EQAhILCgdSRUNFTlRTEAMSEwoPUkVDRU5UU19PUl9CQUNLEAQSGgoWRk9SRUdST1VORF9XSEVOX0xPQ0tFRBAFEhYKEk1BSU5fTEFVTkNIRVJfSUNPThAGEh8KG01BSU5fTEFVTkNIRVJfSUNPTl9TSE9SVENVVBAHEhYKEkhPTUVfU0NSRUVOX1dJREdFVBAIEh0KGU9QRU5fSU5fQlJPV1NFUl9GUk9NX01FTlUQCRIhCh1FWFRFUk5BTF9TRUFSQ0hfQUNUSU9OX0lOVEVOVBAKEhAKDE5PVElGSUNBVElPThALEhgKFEVYVEVSTkFMX1ZJRVdfSU5URU5UEAwSEAoMT1RIRVJfQ0hST01FEA0SHQoZV0VCQVBLX0NIUk9NRV9ESVNUUklCVVRPUhAOEhwKGFdFQkFQS19PVEhFUl9ESVNUUklCVVRPUhAPEhgKFEhPTUVfU0NSRUVOX1NIT1JUQ1VUEBASEAoMU0hBUkVfSU5URU5UEBESBwoDTkZDEBISDAoIQVVUSF9UQUIQEyLhAQoVV2ViQ29udGVudEludGVyYWN0aW9uEjkKBHR5cGUYASABKA4yKy5wZXJmZXR0by5wcm90b3MuV2ViQ29udGVudEludGVyYWN0aW9uLlR5cGUSGQoRdG90YWxfZHVyYXRpb25fbXMYAiABKAMicgoEVHlwZRIbChdJTlRFUkFDVElPTl9VTlNQRUNJRklFRBAAEhgKFElOVEVSQUNUSU9OX0tFWUJPQVJEEAESGQoVSU5URVJBQ1RJT05fQ0xJQ0tfVEFQEAISGAoQSU5URVJBQ1RJT05fRFJBRxADGgIIASKvAQoNU2Nyb2xsTWV0cmljcxITCgtmcmFtZV9jb3VudBgBIAEoAxITCgt2c3luY19jb3VudBgCIAEoAxIYChBtaXNzZWRfdnN5bmNfbWF4GAMgASgDEhgKEG1pc3NlZF92c3luY19zdW0YBCABKAMSGwoTZGVsYXllZF9mcmFtZV9jb3VudBgFIAEoAxIjChtwcmVkaWN0b3JfamFua3lfZnJhbWVfY291bnQYBiABKAMiqAEKDkV2ZW50Rm9yd2FyZGVyEhQKDGhpc3Rvcnlfc2l6ZRgBIAEoBRIWCg5vbGRlc3RfdGltZV9ucxgCIAEoAxIWCg5sYXRlc3RfdGltZV9ucxgFIAEoAxIPCgd4X3BpeGVsGAMgASgCEg8KB3lfcGl4ZWwYBCABKAISFgoOaGFzX3hfbW92ZW1lbnQYBiABKAgSFgoOaGFzX3lfbW92ZW1lbnQYByABKAgiNgodVG91Y2hEaXNwb3NpdGlvbkdlc3R1cmVGaWx0ZXISFQoNZ2VzdHVyZV9jb3VudBgBIAEoBSIdCg1WaWV3Q2xhc3NOYW1lEgwKBG5hbWUYASABKAki8ggKIENocm9tZUNvbXBvc2l0b3JTY2hlZHVsZXJTdGF0ZVYyEkYKDXN0YXRlX21hY2hpbmUYASABKAsyLy5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyEiQKHG9ic2VydmluZ19iZWdpbl9mcmFtZV9zb3VyY2UYAiABKAgSJgoeYmVnaW5faW1wbF9mcmFtZV9kZWFkbGluZV90YXNrGAMgASgIEiAKGHBlbmRpbmdfYmVnaW5fZnJhbWVfdGFzaxgEIAEoCBIzCitza2lwcGVkX2xhc3RfZnJhbWVfbWlzc2VkX2V4Y2VlZGVkX2RlYWRsaW5lGAUgASgIEkkKDWluc2lkZV9hY3Rpb24YByABKA4yMi5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclNjaGVkdWxlckFjdGlvblYyEmMKDWRlYWRsaW5lX21vZGUYCCABKA4yTC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclNjaGVkdWxlclN0YXRlVjIuQmVnaW5JbXBsRnJhbWVEZWFkbGluZU1vZGUSEwoLZGVhZGxpbmVfdXMYCSABKAMSIAoYZGVhZGxpbmVfc2NoZWR1bGVkX2F0X3VzGAogASgDEg4KBm5vd191cxgLIAEoAxIgChhub3dfdG9fZGVhZGxpbmVfZGVsdGFfdXMYDCABKAMSLQolbm93X3RvX2RlYWRsaW5lX3NjaGVkdWxlZF9hdF9kZWx0YV91cxgNIAEoAxJEChViZWdpbl9pbXBsX2ZyYW1lX2FyZ3MYDiABKAsyJS5wZXJmZXR0by5wcm90b3MuQmVnaW5JbXBsRnJhbWVBcmdzVjISTgoaYmVnaW5fZnJhbWVfb2JzZXJ2ZXJfc3RhdGUYDyABKAsyKi5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZU9ic2VydmVyU3RhdGVWMhJKChhiZWdpbl9mcmFtZV9zb3VyY2Vfc3RhdGUYECABKAsyKC5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZVNvdXJjZVN0YXRlVjISTQoZY29tcG9zaXRvcl90aW1pbmdfaGlzdG9yeRgRIAEoCzIqLnBlcmZldHRvLnByb3Rvcy5Db21wb3NpdG9yVGltaW5nSGlzdG9yeVYyIuEBChpCZWdpbkltcGxGcmFtZURlYWRsaW5lTW9kZRIdChlERUFETElORV9NT0RFX1VOU1BFQ0lGSUVEEAASFgoSREVBRExJTkVfTU9ERV9OT05FEAESGwoXREVBRExJTkVfTU9ERV9JTU1FRElBVEUQAhIZChVERUFETElORV9NT0RFX1JFR1VMQVIQAxIWChJERUFETElORV9NT0RFX0xBVEUQBBIZChVERUFETElORV9NT0RFX0JMT0NLRUQQBRIhCh1ERUFETElORV9NT0RFX1dBSVRfRk9SX1NDUk9MTBAGSgQIBhAHIr4dCh5DaHJvbWVDb21wb3NpdG9yU3RhdGVNYWNoaW5lVjISUQoLbWFqb3Jfc3RhdGUYASABKAsyPC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMhJRCgttaW5vcl9zdGF0ZRgCIAEoCzI8LnBlcmZldHRvLnByb3Rvcy5DaHJvbWVDb21wb3NpdG9yU3RhdGVNYWNoaW5lVjIuTWlub3JTdGF0ZVYyGqcKCgxNYWpvclN0YXRlVjISRwoLbmV4dF9hY3Rpb24YASABKA4yMi5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclNjaGVkdWxlckFjdGlvblYyEnAKFmJlZ2luX2ltcGxfZnJhbWVfc3RhdGUYAiABKA4yUC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMi5CZWdpbkltcGxGcmFtZVN0YXRlEnAKFmJlZ2luX21haW5fZnJhbWVfc3RhdGUYAyABKA4yUC5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMi5CZWdpbk1haW5GcmFtZVN0YXRlEnkKG2xheWVyX3RyZWVfZnJhbWVfc2lua19zdGF0ZRgEIAEoDjJULnBlcmZldHRvLnByb3Rvcy5DaHJvbWVDb21wb3NpdG9yU3RhdGVNYWNoaW5lVjIuTWFqb3JTdGF0ZVYyLkxheWVyVHJlZUZyYW1lU2lua1N0YXRlEnQKE2ZvcmNlZF9yZWRyYXdfc3RhdGUYBSABKA4yVy5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1ham9yU3RhdGVWMi5Gb3JjZWRSZWRyYXdPblRpbWVvdXRTdGF0ZSKhAQoTQmVnaW5JbXBsRnJhbWVTdGF0ZRIgChxCRUdJTl9JTVBMX0ZSQU1FX1VOU1BFQ0lGSUVEEAASGQoVQkVHSU5fSU1QTF9GUkFNRV9JRExFEAESJwojQkVHSU5fSU1QTF9GUkFNRV9JTlNJREVfQkVHSU5fRlJBTUUQAhIkCiBCRUdJTl9JTVBMX0ZSQU1FX0lOU0lERV9ERUFETElORRADIpMBChNCZWdpbk1haW5GcmFtZVN0YXRlEiAKHEJFR0lOX01BSU5fRlJBTUVfVU5TUEVDSUZJRUQQABIZChVCRUdJTl9NQUlOX0ZSQU1FX0lETEUQARIZChVCRUdJTl9NQUlOX0ZSQU1FX1NFTlQQAhIkCiBCRUdJTl9NQUlOX0ZSQU1FX1JFQURZX1RPX0NPTU1JVBADIvQBChdMYXllclRyZWVGcmFtZVNpbmtTdGF0ZRIgChxMQVlFUl9UUkVFX0ZSQU1FX1VOU1BFQ0lGSUVEEAASGQoVTEFZRVJfVFJFRV9GUkFNRV9OT05FEAESGwoXTEFZRVJfVFJFRV9GUkFNRV9BQ1RJVkUQAhIdChlMQVlFUl9UUkVFX0ZSQU1FX0NSRUFUSU5HEAMSLQopTEFZRVJfVFJFRV9GUkFNRV9XQUlUSU5HX0ZPUl9GSVJTVF9DT01NSVQQBBIxCi1MQVlFUl9UUkVFX0ZSQU1FX1dBSVRJTkdfRk9SX0ZJUlNUX0FDVElWQVRJT04QBSLHAQoaRm9yY2VkUmVkcmF3T25UaW1lb3V0U3RhdGUSHQoZRk9SQ0VEX1JFRFJBV19VTlNQRUNJRklFRBAAEhYKEkZPUkNFRF9SRURSQVdfSURMRRABEiQKIEZPUkNFRF9SRURSQVdfV0FJVElOR19GT1JfQ09NTUlUEAISKAokRk9SQ0VEX1JFRFJBV19XQUlUSU5HX0ZPUl9BQ1RJVkFUSU9OEAMSIgoeRk9SQ0VEX1JFRFJBV19XQUlUSU5HX0ZPUl9EUkFXEAQayxEKDE1pbm9yU3RhdGVWMhIUCgxjb21taXRfY291bnQYASABKAUSHAoUY3VycmVudF9mcmFtZV9udW1iZXIYAiABKAUSKgoibGFzdF9mcmFtZV9udW1iZXJfc3VibWl0X3BlcmZvcm1lZBgDIAEoBRIoCiBsYXN0X2ZyYW1lX251bWJlcl9kcmF3X3BlcmZvcm1lZBgEIAEoBRIvCidsYXN0X2ZyYW1lX251bWJlcl9iZWdpbl9tYWluX2ZyYW1lX3NlbnQYBSABKAUSEAoIZGlkX2RyYXcYBiABKAgSMworZGlkX3NlbmRfYmVnaW5fbWFpbl9mcmFtZV9mb3JfY3VycmVudF9mcmFtZRgHIAEoCBI2Ci5kaWRfbm90aWZ5X2JlZ2luX21haW5fZnJhbWVfbm90X2V4cGVjdGVkX3VudGlsGAggASgIEjUKLWRpZF9ub3RpZnlfYmVnaW5fbWFpbl9mcmFtZV9ub3RfZXhwZWN0ZWRfc29vbhgJIAEoCBIrCiN3YW50c19iZWdpbl9tYWluX2ZyYW1lX25vdF9leHBlY3RlZBgKIAEoCBIfChdkaWRfY29tbWl0X2R1cmluZ19mcmFtZRgLIAEoCBIsCiRkaWRfaW52YWxpZGF0ZV9sYXllcl90cmVlX2ZyYW1lX3NpbmsYDCABKAgSKQohZGlkX3BlcmZvcm1faW1wbF9zaWRlX2ludmFsaWRhaW9uGA0gASgIEhkKEWRpZF9wcmVwYXJlX3RpbGVzGA4gASgIEisKI2NvbnNlY3V0aXZlX2NoZWNrZXJib2FyZF9hbmltYXRpb25zGA8gASgFEh0KFXBlbmRpbmdfc3VibWl0X2ZyYW1lcxgQIAEoBRI4CjBzdWJtaXRfZnJhbWVzX3dpdGhfY3VycmVudF9sYXllcl90cmVlX2ZyYW1lX3NpbmsYESABKAUSFAoMbmVlZHNfcmVkcmF3GBIgASgIEhsKE25lZWRzX3ByZXBhcmVfdGlsZXMYEyABKAgSHgoWbmVlZHNfYmVnaW5fbWFpbl9mcmFtZRgUIAEoCBIiChpuZWVkc19vbmVfYmVnaW5faW1wbF9mcmFtZRgVIAEoCBIPCgd2aXNpYmxlGBYgASgIEiEKGWJlZ2luX2ZyYW1lX3NvdXJjZV9wYXVzZWQYFyABKAgSEAoIY2FuX2RyYXcYGCABKAgSGQoRcmVzb3VyY2VsZXNzX2RyYXcYGSABKAgSGAoQaGFzX3BlbmRpbmdfdHJlZRgaIAEoCBIsCiRwZW5kaW5nX3RyZWVfaXNfcmVhZHlfZm9yX2FjdGl2YXRpb24YGyABKAgSJAocYWN0aXZlX3RyZWVfbmVlZHNfZmlyc3RfZHJhdxgcIAEoCBIkChxhY3RpdmVfdHJlZV9pc19yZWFkeV90b19kcmF3GB0gASgIEj0KNWRpZF9jcmVhdGVfYW5kX2luaXRpYWxpemVfZmlyc3RfbGF5ZXJfdHJlZV9mcmFtZV9zaW5rGB4gASgIEmAKDXRyZWVfcHJpb3JpdHkYHyABKA4ySS5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1pbm9yU3RhdGVWMi5UcmVlUHJpb3JpdHkSbQoUc2Nyb2xsX2hhbmRsZXJfc3RhdGUYICABKA4yTy5wZXJmZXR0by5wcm90b3MuQ2hyb21lQ29tcG9zaXRvclN0YXRlTWFjaGluZVYyLk1pbm9yU3RhdGVWMi5TY3JvbGxIYW5kbGVyU3RhdGUSNQotY3JpdGljYWxfYmVnaW5fbWFpbl9mcmFtZV90b19hY3RpdmF0ZV9pc19mYXN0GCEgASgIEigKIG1haW5fdGhyZWFkX21pc3NlZF9sYXN0X2RlYWRsaW5lGCIgASgIEiAKGHZpZGVvX25lZWRzX2JlZ2luX2ZyYW1lcxgkIAEoCBIeChZkZWZlcl9iZWdpbl9tYWluX2ZyYW1lGCUgASgIEiIKGmxhc3RfY29tbWl0X2hhZF9ub191cGRhdGVzGCYgASgIEh4KFmRpZF9kcmF3X2luX2xhc3RfZnJhbWUYJyABKAgSIAoYZGlkX3N1Ym1pdF9pbl9sYXN0X2ZyYW1lGCggASgIEiQKHG5lZWRzX2ltcGxfc2lkZV9pbnZhbGlkYXRpb24YKSABKAgSKQohY3VycmVudF9wZW5kaW5nX3RyZWVfaXNfaW1wbF9zaWRlGCogASgIEisKI3ByZXZpb3VzX3BlbmRpbmdfdHJlZV93YXNfaW1wbF9zaWRlGCsgASgIEjUKLXByb2Nlc3NpbmdfYW5pbWF0aW9uX3dvcmtsZXRzX2Zvcl9hY3RpdmVfdHJlZRgsIAEoCBI2Ci5wcm9jZXNzaW5nX2FuaW1hdGlvbl93b3JrbGV0c19mb3JfcGVuZGluZ190cmVlGC0gASgIEjIKKnByb2Nlc3NpbmdfcGFpbnRfd29ya2xldHNfZm9yX3BlbmRpbmdfdHJlZRguIAEoCBIWCg5zaG91bGRfd2FybV91cBgvIAEoCCK4AQoMVHJlZVByaW9yaXR5Eh0KGVRSRUVfUFJJT1JJVFlfVU5TUEVDSUZJRUQQABIuCipUUkVFX1BSSU9SSVRZX1NBTUVfUFJJT1JJVFlfRk9SX0JPVEhfVFJFRVMQARIrCidUUkVFX1BSSU9SSVRZX1NNT09USE5FU1NfVEFLRVNfUFJJT1JJVFkQAhIsCihUUkVFX1BSSU9SSVRZX05FV19DT05URU5UX1RBS0VTX1BSSU9SSVRZEAMiggEKElNjcm9sbEhhbmRsZXJTdGF0ZRIeChpTQ1JPTExfSEFORExFUl9VTlNQRUNJRklFRBAAEiEKHVNDUk9MTF9BRkZFQ1RTX1NDUk9MTF9IQU5ETEVSEAESKQolU0NST0xMX0RPRVNfTk9UX0FGRkVDVF9TQ1JPTExfSEFORExFUhACSgQIIxAkIq4EChBCZWdpbkZyYW1lQXJnc1YyEkIKBHR5cGUYASABKA4yNC5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZUFyZ3NWMi5CZWdpbkZyYW1lQXJnc1R5cGUSEQoJc291cmNlX2lkGAIgASgEEhcKD3NlcXVlbmNlX251bWJlchgDIAEoBBIVCg1mcmFtZV90aW1lX3VzGAQgASgDEhMKC2RlYWRsaW5lX3VzGAUgASgDEhkKEWludGVydmFsX2RlbHRhX3VzGAYgASgDEhgKEG9uX2NyaXRpY2FsX3BhdGgYByABKAgSFAoMYW5pbWF0ZV9vbmx5GAggASgIEh0KE3NvdXJjZV9sb2NhdGlvbl9paWQYCSABKARIABI6Cg9zb3VyY2VfbG9jYXRpb24YCiABKAsyHy5wZXJmZXR0by5wcm90b3MuU291cmNlTG9jYXRpb25IABIjChtmcmFtZXNfdGhyb3R0bGVkX3NpbmNlX2xhc3QYCyABKAMiogEKEkJlZ2luRnJhbWVBcmdzVHlwZRIlCiFCRUdJTl9GUkFNRV9BUkdTX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1CRUdJTl9GUkFNRV9BUkdTX1RZUEVfSU5WQUxJRBABEiAKHEJFR0lOX0ZSQU1FX0FSR1NfVFlQRV9OT1JNQUwQAhIgChxCRUdJTl9GUkFNRV9BUkdTX1RZUEVfTUlTU0VEEANCDgoMY3JlYXRlZF9mcm9tIsoEChRCZWdpbkltcGxGcmFtZUFyZ3NWMhIVCg11cGRhdGVkX2F0X3VzGAEgASgDEhYKDmZpbmlzaGVkX2F0X3VzGAIgASgDEjoKBXN0YXRlGAMgASgOMisucGVyZmV0dG8ucHJvdG9zLkJlZ2luSW1wbEZyYW1lQXJnc1YyLlN0YXRlEjkKDGN1cnJlbnRfYXJncxgEIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5CZWdpbkZyYW1lQXJnc1YySAASNgoJbGFzdF9hcmdzGAUgASgLMiEucGVyZmV0dG8ucHJvdG9zLkJlZ2luRnJhbWVBcmdzVjJIABJOChB0aW1lc3RhbXBzX2luX3VzGAYgASgLMjQucGVyZmV0dG8ucHJvdG9zLkJlZ2luSW1wbEZyYW1lQXJnc1YyLlRpbWVzdGFtcHNJblVzGsEBCg5UaW1lc3RhbXBzSW5VcxIWCg5pbnRlcnZhbF9kZWx0YRgBIAEoAxIdChVub3dfdG9fZGVhZGxpbmVfZGVsdGEYAiABKAMSHwoXZnJhbWVfdGltZV90b19ub3dfZGVsdGEYAyABKAMSJAocZnJhbWVfdGltZV90b19kZWFkbGluZV9kZWx0YRgEIAEoAxILCgNub3cYBSABKAMSEgoKZnJhbWVfdGltZRgGIAEoAxIQCghkZWFkbGluZRgHIAEoAyI4CgVTdGF0ZRIYChRCRUdJTl9GUkFNRV9GSU5JU0hFRBAAEhUKEUJFR0lOX0ZSQU1FX1VTSU5HEAFCBgoEYXJncyJ/ChlCZWdpbkZyYW1lT2JzZXJ2ZXJTdGF0ZVYyEiAKGGRyb3BwZWRfYmVnaW5fZnJhbWVfYXJncxgBIAEoAxJAChVsYXN0X2JlZ2luX2ZyYW1lX2FyZ3MYAiABKAsyIS5wZXJmZXR0by5wcm90b3MuQmVnaW5GcmFtZUFyZ3NWMiKVAQoXQmVnaW5GcmFtZVNvdXJjZVN0YXRlVjISEQoJc291cmNlX2lkGAEgASgNEg4KBnBhdXNlZBgCIAEoCBIVCg1udW1fb2JzZXJ2ZXJzGAMgASgNEkAKFWxhc3RfYmVnaW5fZnJhbWVfYXJncxgEIAEoCzIhLnBlcmZldHRvLnByb3Rvcy5CZWdpbkZyYW1lQXJnc1YyIv4CChlDb21wb3NpdG9yVGltaW5nSGlzdG9yeVYyEjkKMWJlZ2luX21haW5fZnJhbWVfcXVldWVfY3JpdGljYWxfZXN0aW1hdGVfZGVsdGFfdXMYASABKAMSPQo1YmVnaW5fbWFpbl9mcmFtZV9xdWV1ZV9ub3RfY3JpdGljYWxfZXN0aW1hdGVfZGVsdGFfdXMYAiABKAMSQwo7YmVnaW5fbWFpbl9mcmFtZV9zdGFydF90b19yZWFkeV90b19jb21taXRfZXN0aW1hdGVfZGVsdGFfdXMYAyABKAMSNQotY29tbWl0X3RvX3JlYWR5X3RvX2FjdGl2YXRlX2VzdGltYXRlX2RlbHRhX3VzGAQgASgDEicKH3ByZXBhcmVfdGlsZXNfZXN0aW1hdGVfZGVsdGFfdXMYBSABKAMSIgoaYWN0aXZhdGVfZXN0aW1hdGVfZGVsdGFfdXMYBiABKAMSHgoWZHJhd19lc3RpbWF0ZV9kZWx0YV91cxgHIAEoAyK6AwoOV2ViVmlld1N0YXJ0dXASFgoOZnJvbV91aV90aHJlYWQYASABKAgSOwoJY2FsbF9zaXRlGAIgASgOMigucGVyZmV0dG8ucHJvdG9zLldlYlZpZXdTdGFydHVwLkNhbGxTaXRlItICCghDYWxsU2l0ZRIdChlHRVRfQVdfVFJBQ0lOR19DT05UUk9MTEVSEAASGwoXR0VUX0FXX1BST1hZX0NPTlRST0xMRVIQARIUChBXRUJWSUVXX0lOU1RBTkNFEAISDwoLR0VUX1NUQVRJQ1MQAxInCiNHRVRfREVGQVVMVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OUxAEEikKJUdFVF9ERUZBVUxUX1NFUlZJQ0VfV09SS0VSX0NPTlRST0xMRVIQBRIZChVHRVRfV0VCX0lDT05fREFUQUJBU0UQBhIbChdHRVRfREVGQVVMVF9XRUJfU1RPUkFHRRAHEiAKHEdFVF9ERUZBVUxUX1dFQlZJRVdfREFUQUJBU0UQCBIaChZHRVRfVFJBQ0lOR19DT05UUk9MTEVSEAkSGQoVQVNZTkNfV0VCVklFV19TVEFSVFVQEAoimQEKGEFuaW1hdGlvbkZyYW1lVGltaW5nSW5mbxIcChRibG9ja2luZ19kdXJhdGlvbl9tcxgBIAEoAxITCgtkdXJhdGlvbl9tcxgCIAEoAxITCgtudW1fc2NyaXB0cxgDIAEoAxI1Cg5iZWdpbl9mcmFtZV9pZBgEIAEoCzIdLnBlcmZldHRvLnByb3Rvcy5CZWdpbkZyYW1lSWQiywcKHkFuaW1hdGlvbkZyYW1lU2NyaXB0VGltaW5nSW5mbxIZChFzdHlsZV9kdXJhdGlvbl9tcxgBIAEoAxIaChJsYXlvdXRfZHVyYXRpb25fbXMYAiABKAMSGQoRcGF1c2VfZHVyYXRpb25fbXMYAyABKAMSFwoPY2xhc3NfbGlrZV9uYW1lGAQgASgJEhoKEnByb3BlcnR5X2xpa2VfbmFtZRgFIAEoCRIbChNzb3VyY2VfbG9jYXRpb25fdXJsGAYgASgJEiUKHXNvdXJjZV9sb2NhdGlvbl9mdW5jdGlvbl9uYW1lGAcgASgJEiUKHXNvdXJjZV9sb2NhdGlvbl9jaGFyX3Bvc2l0aW9uGAggASgDElEKDGludm9rZXJfdHlwZRgJIAEoDjI7LnBlcmZldHRvLnByb3Rvcy5BbmltYXRpb25GcmFtZVNjcmlwdFRpbWluZ0luZm8uSW52b2tlclR5cGUSZAoWdGhpcmRfcGFydHlfdGVjaG5vbG9neRgKIAEoDjJELnBlcmZldHRvLnByb3Rvcy5BbmltYXRpb25GcmFtZVNjcmlwdFRpbWluZ0luZm8uVGhpcmRQYXJ0eVRlY2hub2xvZ3kikgEKC0ludm9rZXJUeXBlEg0KCVVOREVGSU5FRBAAEhIKDkNMQVNTSUNfU0NSSVBUEAESEQoNTU9EVUxFX1NDUklQVBACEhEKDVVTRVJfQ0FMTEJBQ0sQAxIRCg1FVkVOVF9IQU5ETEVSEAQSEwoPUFJPTUlTRV9SRVNPTFZFEAUSEgoOUFJPTUlTRV9SRUpFQ1QQBiLoAgoUVGhpcmRQYXJ0eVRlY2hub2xvZ3kSDwoLVU5TUEVDSUZJRUQQABIICgROT05FEAESDgoKV09SRF9QUkVTUxACEhQKEEdPT0dMRV9BTkFMWVRJQ1MQAxITCg9HT09HTEVfRk9OVF9BUEkQBBIWChJHT09HTEVfVEFHX01BTkFHRVIQBRIPCgtHT09HTEVfTUFQUxAGEg4KCk1FVEFfUElYRUwQBxILCgdZT1VUVUJFEAgSEwoPQURPQkVfQU5BTFlUSUNTEAkSEAoMVElLVE9LX1BJWEVMEAoSCgoGSE9USkFSEAsSEgoOR09PR0xFX0FEU0VOU0UQDBIYChRHT09HTEVfUFVCTElTSEVSX1RBRxANEhgKFEdPT0dMRV9BRFNfTElCUkFSSUVTEA4SEwoPRlVORElOR19DSE9JQ0VTEA8SDQoJRUxFTUVOVE9SEBASFQoRU0xJREVSX1JFVk9MVVRJT04QESI6CgxCZWdpbkZyYW1lSWQSEQoJc291cmNlX2lkGAEgASgEEhcKD3NlcXVlbmNlX251bWJlchgCIAEoBCLHBQoRTWFpbkZyYW1lUGlwZWxpbmUSFQoNbWFpbl9mcmFtZV9pZBgBIAEoBBI1CgRzdGVwGAIgASgOMicucGVyZmV0dG8ucHJvdG9zLk1haW5GcmFtZVBpcGVsaW5lLlN0ZXASNQoOY