@raystack/proton 0.1.0-ccaf27e487cbe97a6ac7249e7382f2d016c3f5fa → 0.1.0-dcceed81ad090604a542bb2a9a12bab7218bc59b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/package.json +1 -1
- package/raystack/frontier/v1beta1/admin_pb.d.ts +28 -1
- package/raystack/frontier/v1beta1/admin_pb.js +9 -2
- package/raystack/frontier/v1beta1/admin_pb.ts +31 -3
- package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.d.ts +0 -17
- package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.js +0 -20
- package/raystack/frontier/v1beta1/frontier-FrontierService_connectquery.ts +0 -20
- package/raystack/frontier/v1beta1/frontier_pb.d.ts +7 -203
- package/raystack/frontier/v1beta1/frontier_pb.js +231 -287
- package/raystack/frontier/v1beta1/frontier_pb.ts +238 -442
- package/raystack/frontier/v1beta1/models_pb.d.ts +123 -48
- package/raystack/frontier/v1beta1/models_pb.js +39 -13
- package/raystack/frontier/v1beta1/models_pb.ts +139 -61
|
@@ -14,7 +14,7 @@ import { file_validate_validate } from "../../../validate/validate_pb";
|
|
|
14
14
|
* Describes the file raystack/frontier/v1beta1/frontier.proto.
|
|
15
15
|
*/
|
|
16
16
|
export const file_raystack_frontier_v1beta1_frontier = /*@__PURE__*/
|
|
17
|
-
fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi9QEKGFVwZGF0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gdXBkYXRlLhI/CgRib2R5GAIgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclJlcXVlc3RCb2R5ElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJYChlVcGRhdGVTZXJ2aWNlVXNlclJlc3BvbnNlEjsKC3NlcnZpY2V1c2VyGAEgASgLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciK0AQoYRGVsZXRlU2VydmljZVVzZXJSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIbChlEZWxldGVTZXJ2aWNlVXNlclJlc3BvbnNlItABChtDcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGNyZWF0ZSBhIGtleSBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJVChxDcmVhdGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjUKA2tleRgBIAEoCzIoLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuS2V5Q3JlZGVudGlhbCLyAQoYR2V0U2VydmljZVVzZXJKV0tSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBnZXQgYSBrZXkgZm9yLhI1CgZrZXlfaWQYAiABKAlCJZJBIjIgVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHRvIGdldC4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlAKGUdldFNlcnZpY2VVc2VySldLUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSK9AQoaTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QSRAoCaWQYASABKAlCOJJBNTIzVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qga2V5cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJWChtMaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2USNwoEa2V5cxgBIAMoCzIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJKV0si+wEKG0RlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlIGEga2V5IGZvci4SOAoGa2V5X2lkGAIgASgJQiiSQSUyI1RoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBkZWxldGUuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyIeChxEZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlItcBCiJDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgojQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2USOwoGc2VjcmV0GAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIscBCiFMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3Qgc2VjcmV0cyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJiCiJMaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlEjwKB3NlY3JldHMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlY3JldENyZWRlbnRpYWwiiwIKIkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QSSgoCaWQYASABKAlCPpJBOzI5VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHNlY3JldCBmb3IuEj4KCXNlY3JldF9pZBgCIAEoCUIrkkEoMiZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZWNyZXQgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiJQojRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2Ui1AEKHUNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSB0b2tlbiBmb3IuEg0KBXRpdGxlGAIgASgJElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2USOgoFdG9rZW4YASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4iwQEKHExpc3RTZXJ2aWNlVXNlclRva2Vuc1JlcXVlc3QSRgoCaWQYASABKAlCOpJBNzI1VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgdG9rZW5zIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIlwKHUxpc3RTZXJ2aWNlVXNlclRva2Vuc1Jlc3BvbnNlEjsKBnRva2VucxgBIAMoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJUb2tlbiKDAgodRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QSSQoCaWQYASABKAlCPZJBOjI4VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIHRva2VuIGZvci4SPAoIdG9rZW5faWQYAiABKAlCKpJBJzIlVGhlIHVuaXF1ZSBJRCBvZiB0aGUgdG9rZW4gdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiIAoeRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIt8BCh5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QSSAoCaWQYASABKAlCPJJBOTI3VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGxpc3QgcHJvamVjdHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMSGAoQd2l0aF9wZXJtaXNzaW9ucxgDIAMoCSLrAQofTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdBJbCgxhY2Nlc3NfcGFpcnMYAiADKAsyRS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UuQWNjZXNzUGFpcho1CgpBY2Nlc3NQYWlyEhIKCnByb2plY3RfaWQYASABKAkSEwoLcGVybWlzc2lvbnMYAiADKAki7QEKHUxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0EikKBm9yZ19pZBgCIAEoCUIZ+kIWchQQAzIQXltBLVphLXowLTlfLV0rJBJXCgVzdGF0ZRgDIAEoCUJIkkFFMkNUaGUgc3RhdGUgb2YgdGhlIGdyb3VwIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuEhEKCWdyb3VwX2lkcxgEIAMoCRIUCgx3aXRoX21lbWJlcnMYBSABKAgSGQoRd2l0aF9tZW1iZXJfY291bnQYBiABKAhKBAgBEAIiUgoeTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAirwEKHUNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keUII+kIFigECEAESSgoGb3JnX2lkGAIgASgJQjqSQTMyMVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHJvbGUgYmVsb25ncyB0by7iQQECIk8KHkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkEKGkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyJMChtHZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJ1Ch1VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAyABKAkSOAoEYm9keRgCIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZVJlcXVlc3RCb2R5Ik8KHlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZRItCgRyb2xlGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjEKEExpc3RSb2xlc1JlcXVlc3QSDQoFc3RhdGUYASABKAkSDgoGc2NvcGVzGAIgAygJIkMKEUxpc3RSb2xlc1Jlc3BvbnNlEi4KBXJvbGVzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIlYKHExpc3RPcmdhbml6YXRpb25Sb2xlc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEg0KBXN0YXRlGAIgASgJEg4KBnNjb3BlcxgDIAMoCSJPCh1MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJECh1EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiIAoeRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqsKChdPcmdhbml6YXRpb25SZXF1ZXN0Qm9keRL7AQoEbmFtZRgBIAEoCULsAZJBzQEyygFUaGUgbmFtZSBvZiB0aGUgb3JnYW5pemF0aW9uLiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPipFeGFtcGxlOipgImZyb250aWVyLW9yZzEtYWNtZSJg4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErIBCgV0aXRsZRgCIAEoCUKiAZJBngEymwFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIG9yZ2FuaXphdGlvbi4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS48YnIvPiAqRXhhbXBsZSo6IGAiQWNtZSBJbmMiYBLpAwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qr0DkkG5AzK2A01ldGFkYXRhIG9iamVjdCBmb3Igb3JnYW5pemF0aW9ucyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hLiBUaGUgbWV0YWRhdGEgb2JqZWN0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFyYml0cmFyeSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3JnYW5pemF0aW9uIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIE9yZ2FuaXphdGlvbiBNZXRhc2NoZW1hIHRvIGFkZCBtb3JlIGZpZWxkcy4gPGJyLz4qRXhhbXBsZSo6YHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXphdGlvbiBkZXNjcmlwdGlvbiJ9YBLwAgoGYXZhdGFyGAQgASgJQt8CkkGPAjLTAVRoZSBhdmF0YXIgaXMgYmFzZTY0IGVuY29kZWQgaW1hZ2UgZGF0YSBvZiB0aGUgdXNlci4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gVGhlIGltYWdlIHNob3VsZCBiZSBsZXNzIHRoYW4gMjAwS0IuIFNob3VsZCBmb2xsb3cgdGhlIHJlZ2V4IHBhdHRlcm4gYF5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSskYC5KNyJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQSL6QklyRxiQoQ8yPl5kYXRhOmltYWdlLyhwbmd8anBnfGpwZWd8Z2lmKTtiYXNlNjQsKFthLXpBLVowLTkrL10rPXswLDJ9KSsk0AEBIukDChhMaXN0T3JnYW5pemF0aW9uc1JlcXVlc3QSxwEKB3VzZXJfaWQYASABKAlCtQGSQbEBMq4BVGhlIHVzZXIgSUQgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLiBPdGhlcndpc2UsIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiB0aGUgRnJvbnRpZXIgaW5zdGFuY2Ugd2lsbCBiZSBsaXN0ZWQuEk4KBXN0YXRlGAIgASgJQj+SQTwyOlRoZSBzdGF0ZSB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYC4SZQoJcGFnZV9zaXplGAMgASgFQlKSQUYyRFRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VycyB0byByZXR1cm4gcGVyIHBhZ2UuIFRoZSBkZWZhdWx0IGlzIDEwMDAu+kIGGgQoAUABEkwKCHBhZ2VfbnVtGAQgASgFQjqSQS4yLFRoZSBwYWdlIG51bWJlciB0byByZXR1cm4uIFRoZSBkZWZhdWx0IGlzIDEu+kIGGgQoAUABIlsKGUxpc3RPcmdhbml6YXRpb25zUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uImcKGUNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSSgoEYm9keRgBIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIlsKGkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlgKF0dldE9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIlsKGlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlEj0KDG9yZ2FuaXphdGlvbhgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIiQKFkdldE9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkiaQoZVXBkYXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRJACgRib2R5GAIgASgLMjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25SZXF1ZXN0Qm9keSI0Ch1MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJQCh5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIifAocTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIdChFwZXJtaXNzaW9uX2ZpbHRlchgCIAEoCUICGAESEgoKd2l0aF9yb2xlcxgDIAEoCBIUCgxyb2xlX2ZpbHRlcnMYBCADKAki8wEKHUxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElUKCnJvbGVfcGFpcnMYAiADKAsyQS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlLlJvbGVQYWlyGksKCFJvbGVQYWlyEg8KB3VzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUifAobQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkgKCHVzZXJfaWRzGAIgAygJQjaSQTMyMUxpc3Qgb2YgdXNlciBJRHMgdG8gYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbi4iHgocQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSJFCh1SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAIgASgJIiAKHlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXNwb25zZSI6CiNMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJkCiRMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2USPAoMc2VydmljZXVzZXJzGAEgAygLMiYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlciLcAQoiTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhJlCgd1c2VyX2lkGAIgASgJQlSSQVEyT3VzZXJfaWQgZmlsdGVyIGlzIHRoZSBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4iYQojTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24ihgQKI0NyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Ek8KBm9yZ19pZBgBIAEoCUI/kkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCB1c2VyIGlzIGludml0ZWTiQQECEqsBCgh1c2VyX2lkcxgCIAMoCUKYAZJBhgEygwF1c2VyX2lkIGlzIGVtYWlsIGlkIG9mIHVzZXIgd2hvIGFyZSBpbnZpdGVkIGluc2lkZSB0aGUgb3JnYW5pemF0aW9uLiBJZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZOJBAQL6QgeSAQQIARAKElYKCWdyb3VwX2lkcxgDIAMoCUJDkkFAMj5saXN0IG9mIGdyb3VwIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLhKHAQoIcm9sZV9pZHMYBCADKAlCdZJBcjJwbGlzdCBvZiByb2xlIGlkcyB0byB3aGljaCB1c2VyIG5lZWRzIHRvIGJlIGFkZGVkIGFzIGEgbWVtYmVyLiBSb2xlcyBhcmUgYmluZGVkIGF0IG9yZ2FuaXphdGlvbiBsZXZlbCBieSBkZWZhdWx0LiJiCiRDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24iPgogR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIl4KIUdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZRI5CgppbnZpdGF0aW9uGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIkEKI0FjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSImCiRBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiQQojRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJIpUCCh5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QSbAoGb3JnX2lkGAEgASgJQlySQU4yTHVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBsaXN0ZWTiQQEC+kIEcgIQAxKEAQoFc3RhdGUYAiABKAlCdZJBcjJwZmlsdGVyIHRvIGxpc3QgZG9tYWlucyBieSB0aGVpciBzdGF0ZSAocGVuZGluZy92ZXJpZmllZCkuIElmIG5vdCBwcm92aWRlZCwgYWxsIGRvbWFpbnMgZm9yIGFuIG9yZyB3aWxsIGJlIGxpc3RlZCJVCh9MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlEjIKB2RvbWFpbnMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiKYAQogTGlzdE9yZ2FuaXphdGlvbnNCeURvbWFpblJlcXVlc3QSdAoEbmFtZRgBIAEoCUJmkkFYMlZkb21haW4gbmFtZSB0byBiZSB1c2VkIHRvIGxpc3QgYWxsIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgaGF2ZSB0aGlzIGRvbWFpbiB3aGl0ZWxpc3RlZOJBAQL6QgRyAhADImMKIUxpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXNwb25zZRI+Cg1vcmdhbml6YXRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iMgoXSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADIhoKGEpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSLSAQocR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJDCgJpZBgBIAEoCUI3kkEpMid1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbiBpcyB0byBiZSByZXRyaWV2ZWTiQQEC+kIEcgIQAyJSCh1HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRIxCgZkb21haW4YASABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRvbWFpbiLiAQofQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJrCgZvcmdfaWQYASABKAlCW5JBTTJLdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGFkZGVk4kEBAvpCBHICEAMSUgoGZG9tYWluGAIgASgJQkKSQTQyMmRvbWFpbiBuYW1lIHRvIGJlIGFkZGVkIHRvIHRoZSB0cnVzdGVkIGRvbWFpbiBsaXN04kEBAvpCBHICEAMiVQogQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i0wEKH0RlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQQoCaWQYASABKAlCNZJBJzIldW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADEm0KBm9yZ19pZBgCIAEoCUJdkkFPMk11bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgZGVsZXRlZOJBAQL6QgRyAhADIiIKIERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlItUBCh9WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0Em4KBm9yZ19pZBgBIAEoCUJekkFQMk51bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAxJCCgJpZBgCIAEoCUI2kkEoMiZ1bmlxdWUgaWQgb2YgdGhlIGRvbWFpbiB0byBiZSB2ZXJpZmllZOJBAQL6QgRyAhADIjEKIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEg0KBXN0YXRlGAEgASgJIiYKJERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSInChlFbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkVuYWJsZU9yZ2FuaXphdGlvblJlc3BvbnNlIigKGkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIh0KG0Rpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSInChlEZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIhwKGkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIisKGUdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJImIKGkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlEkQKEG9yZ2FuaXphdGlvbl9reWMYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbkt5YyKsBQoSUHJvamVjdFJlcXVlc3RCb2R5EvcBCgRuYW1lGAEgASgJQugBkkHJATLGAVRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LiBUaGUgbmFtZSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gVGhlIG5hbWUgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy48YnIvPiAqRXhhbXBsZToqIGBmcm9udGllci1wbGF5Z3JvdW5kYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBK3AQoFdGl0bGUYAiABKAlCpwGSQaMBMqABVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBwcm9qZWN0LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBGcm9udGllciBQbGF5Z3JvdW5kYBKJAQoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ql6SQVsyWU1ldGFkYXRhIG9iamVjdCBmb3IgcHJvamVjdHMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQcm9qZWN0IE1ldGFzY2hlbWEuElYKBm9yZ19pZBgEIAEoCUJGkkE4MjZ1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiB0byB3aGljaCBwcm9qZWN0IGJlbG9uZ3PiQQEC+kIEcgIQAyJdChRDcmVhdGVQcm9qZWN0UmVxdWVzdBJFCgRib2R5GAEgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHlCCPpCBYoBAhABIkwKFUNyZWF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0It8BCh9MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEosBCgVzdGF0ZRgCIAEoCUJ8kkF5MndGaWx0ZXIgcHJvamVjdHMgYnkgc3RhdGUuIElmIG5vdCBzcGVjaWZpZWQsIGFsbCBwcm9qZWN0cyBhcmUgcmV0dXJuZWQuIDxici8+ICpQb3NzaWJsZSB2YWx1ZXM6KiBgZW5hYmxlZGAgb3IgYGRpc2FibGVkYBIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCJYCiBMaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZRI0Cghwcm9qZWN0cxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSJJChJHZXRQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCJfChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCRI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0UmVxdWVzdEJvZHkiTAoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiLwoYTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIksKGUxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiXQoXTGlzdFByb2plY3RVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSGQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAkSEgoKd2l0aF9yb2xlcxgDIAEoCCLpAQoYTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyElAKCnJvbGVfcGFpcnMYAiADKAsyPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIkkKHkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxISCgp3aXRoX3JvbGVzGAMgASgIIowCCh9MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXISVwoKcm9sZV9wYWlycxgCIAMoCzJDLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpSCghSb2xlUGFpchIWCg5zZXJ2aWNldXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJDChhMaXN0UHJvamVjdEdyb3Vwc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgCIAEoCCLuAQoZTGlzdFByb2plY3RHcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwElEKCnJvbGVfcGFpcnMYAiADKAsyPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2UuUm9sZVBhaXIaTAoIUm9sZVBhaXISEAoIZ3JvdXBfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiIgoURW5hYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiFwoVRW5hYmxlUHJvamVjdFJlc3BvbnNlIiMKFURpc2FibGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIYChZEaXNhYmxlUHJvamVjdFJlc3BvbnNlIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFURlbGV0ZVByb2plY3RSZXNwb25zZSKjCAoRUG9saWN5UmVxdWVzdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAMgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgErMBCghyZXNvdXJjZRgCIAEoCUKgAZJBkQEyjgFUaGUgcmVzb3VyY2UgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIDxici8+ICpFeGFtcGxlOiogYGFwcC9ndWFyZGlhbjo3MGY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4ZTJg4kEBAvpCBHICEAMS7wIKCXByaW5jaXBhbBgEIAEoCULbApJB0wIy0AJwcmluY2lwYWwgaXMgdGhlIHVzZXIgb3IgZ3JvdXAgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVkLiBUaGUgcHJpbmNpcGFsIGlkIG11c3QgYmUgcHJlZml4ZWQgd2l0aCBpdHMgbmFtZXNwYWNlIGlkIGluIHRoaXMgZm9ybWF0IGBuYW1lc3BhY2U6dXVpZGAuIFRoZSBuYW1lc3BhY2UgY2FuIGJlIGBhcHAvdXNlcmAsIGBhcHAvZ3JvdXBgIG9yIGBhcHAvc2VydmljZXVzZXJgIChjb21pbmcgdXAhKSBhbmQgdXVpZCBpcyB0aGUgdW5pcXVlIGlkIG9mIHRoZSBwcmluY2lwYWwuIDxici8+ICpFeGFtcGxlOiogYGFwcC91c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWDiQQECEt8BCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCswGSQa8BMqwBTWV0YWRhdGEgb2JqZWN0IGZvciBwb2xpY2llcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIFBvbGljeSBNZXRhc2NoZW1hLjxici8+ICpFeGFtcGxlOiogYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIlBvbGljeSBkZXNjcmlwdGlvbiJ9YCKUBQoaQ3JlYXRlUG9saWN5Rm9yUHJvamVjdEJvZHkSUgoHcm9sZV9pZBgBIAEoCUJBkkEzMjF1bmlxdWUgaWQgb2YgdGhlIHJvbGUgdG8gd2hpY2ggcG9saWN5IGlzIGFzc2lnbmVk4kEBAvpCBHICEAMSrwEKBXRpdGxlGAIgASgJQp8BkkGbATKYAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcG9saWN5LiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPiAqRXhhbXBsZToqIGBQb2xpY3kgdGl0bGVgEu8CCglwcmluY2lwYWwYAyABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAiIiChRHZXRQZXJtaXNzaW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRQZXJtaXNzaW9uUmVzcG9uc2USOQoKcGVybWlzc2lvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIYChZMaXN0UGVybWlzc2lvbnNSZXF1ZXN0IlUKF0xpc3RQZXJtaXNzaW9uc1Jlc3BvbnNlEjoKC3Blcm1pc3Npb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QZXJtaXNzaW9uIhcKFUxpc3ROYW1lc3BhY2VzUmVxdWVzdCJSChZMaXN0TmFtZXNwYWNlc1Jlc3BvbnNlEjgKCm5hbWVzcGFjZXMYASADKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSIhChNHZXROYW1lc3BhY2VSZXF1ZXN0EgoKAmlkGAEgASgJIk8KFEdldE5hbWVzcGFjZVJlc3BvbnNlEjcKCW5hbWVzcGFjZRgBIAEoCzIkLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTmFtZXNwYWNlIlsKE0NyZWF0ZVBvbGljeVJlcXVlc3QSRAoEYm9keRgBIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFENyZWF0ZVBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgCIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5SgQIARACIh4KEEdldFBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkiRgoRR2V0UG9saWN5UmVzcG9uc2USMQoGcG9saWN5GAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kimQIKE0xpc3RQb2xpY2llc1JlcXVlc3QSNgoGb3JnX2lkGAEgASgJQiaSQSMyIVRoZSBvcmdhbml6YXRpb24gaWQgdG8gZmlsdGVyIGJ5LhI1Cgpwcm9qZWN0X2lkGAIgASgJQiGSQR4yHFRoZSBwcm9qZWN0IGlkIHRvIGZpbHRlciBieS4SLwoHdXNlcl9pZBgDIAEoCUIekkEbMhlUaGUgdXNlciBpZCB0byBmaWx0ZXIgYnkuEi8KB3JvbGVfaWQYBCABKAlCHpJBGzIZVGhlIHJvbGUgaWQgdG8gZmlsdGVyIGJ5LhIxCghncm91cF9pZBgFIAEoCUIfkkEcMhpUaGUgZ3JvdXAgaWQgdG8gZmlsdGVyIGJ5LiJLChRMaXN0UG9saWNpZXNSZXNwb25zZRIzCghwb2xpY2llcxgBIAMoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5Il0KE1VwZGF0ZVBvbGljeVJlcXVlc3QSCgoCaWQYASABKAkSOgoEYm9keRgCIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5UmVxdWVzdEJvZHkiSwoUVXBkYXRlUG9saWN5UmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSIhChNEZWxldGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFERlbGV0ZVBvbGljeVJlc3BvbnNlIosBCh1DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgJQgf6QgRyAhADEk0KBGJvZHkYAiABKAsyNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5Qgj6QgWKAQIQASIgCh5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UicgoTUmVsYXRpb25SZXF1ZXN0Qm9keRIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgDIAEoCRIQCghyZWxhdGlvbhgEIAEoCRIcChRzdWJqZWN0X3N1Yl9yZWxhdGlvbhgGIAEoCUoECAIQA0oECAUQBiJfChVDcmVhdGVSZWxhdGlvblJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keUII+kIFigECEAEiTwoWQ3JlYXRlUmVsYXRpb25SZXNwb25zZRI1CghyZWxhdGlvbhgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb24iIAoSR2V0UmVsYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJIkwKE0dldFJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uImEKFVVwZGF0ZVJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI8CgRib2R5GAIgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvblJlcXVlc3RCb2R5Ik8KFlVwZGF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIrkGChBHcm91cFJlcXVlc3RCb2R5Es8BCgRuYW1lGAEgASgJQsABkkGhATKeAVRoZSBuYW1lIG9mIHRoZSBncm91cC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskEosBCgV0aXRsZRgCIAEoCUJ8kkF5MndUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIGdyb3VwLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhK+AwoIbWV0YWRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QpIDkkGOAzKLA01ldGFkYXRhIG9iamVjdCBmb3IgZ3JvdXBzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gR3JvdXAgTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyb3VwIHN1Y2ggYXMgbGFiZWxzLCBkZXNjcmlwdGlvbnMgZXRjLiBUaGUgZGVmYXVsdCBHcm91cCBNZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRvbiBmaWVsZHMuIFVwZGF0ZSB0aGUgR3JvdXAgTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuPGJyLz4qRXhhbXBsZToqYHsibGFiZWxzIjogeyJrZXkiOiAidmFsdWUifSwgImRlc2NyaXB0aW9uIjogIkdyb3VwIGRlc2NyaXB0aW9uIn1gSgQIBBAFIqYBChJDcmVhdGVHcm91cFJlcXVlc3QSQwoEYm9keRgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXBSZXF1ZXN0Qm9keUII+kIFigECEAESSwoGb3JnX2lkGAIgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJDCg9HZXRHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhQKDHdpdGhfbWVtYmVycxgDIAEoCCJGChNDcmVhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJDChBHZXRHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCJGChNVcGRhdGVHcm91cFJlc3BvbnNlEi8KBWdyb3VwGAEgASgLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cCKoAQoSVXBkYXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEjkKBGJvZHkYAiABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHkSSwoGb3JnX2lkGAMgASgJQjuSQTQyMlRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIGdyb3VwIGJlbG9uZ3MgdG8u4kEBAiJHChVMaXN0R3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi5QEKFkxpc3RHcm91cFVzZXJzUmVzcG9uc2USLgoFdXNlcnMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISTgoKcm9sZV9wYWlycxgCIAMoCzI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIjkKEkVuYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFQoTRW5hYmxlR3JvdXBSZXNwb25zZSI6ChNEaXNhYmxlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIWChREaXNhYmxlR3JvdXBSZXNwb25zZSI5ChJEZWxldGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0RlbGV0ZUdyb3VwUmVzcG9uc2UiTQoUQWRkR3JvdXBVc2Vyc1JlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADEhAKCHVzZXJfaWRzGAMgAygJIhcKFUFkZEdyb3VwVXNlcnNSZXNwb25zZSJOChZSZW1vdmVHcm91cFVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIPCgd1c2VyX2lkGAMgASgJIhkKF1JlbW92ZUdyb3VwVXNlclJlc3BvbnNlIlAKFURlbGV0ZVJlbGF0aW9uUmVxdWVzdBIOCgZvYmplY3QYASABKAkSDwoHc3ViamVjdBgCIAEoCRIQCghyZWxhdGlvbhgEIAEoCUoECAMQBCIYChZEZWxldGVSZWxhdGlvblJlc3BvbnNlIlMKG0xpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAIgASgJQgf6QgRyAhADEhEKCW5hbWVzcGFjZRgEIAEoCUoECAEQAiJWChxMaXN0UHJvamVjdFJlc291cmNlc1Jlc3BvbnNlEjYKCXJlc291cmNlcxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UitgYKE1Jlc291cmNlUmVxdWVzdEJvZHkScwoEbmFtZRgBIAEoCUJlkkFeMlxUaGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UuICBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QuIDxici8+ICpFeGFtcGxlOiogYG15LXJlc291cmNlYOJBAQISjgEKBXRpdGxlGAIgASgJQn+SQXwyelRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcmVzb3VyY2UuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuEvIBCgluYW1lc3BhY2UYAyABKAlC3gGSQdYBMtMBVGhlIG5hbWVzcGFjZSBvZiB0aGUgcmVzb3VyY2UuIFRoZSByZXNvdXJjZSBuYW1lc3BhY2UgYXJlIGNyZWF0ZWQgd2hlbiBwZXJtaXNzaW9ucyBmb3IgdGhhdCByZXNvdXJjZSBpcyBjcmVhdGVkIGluIEZyb250aWVyLiBJZiBuYW1lc3BhY2UgZG9lc24ndCBleGlzdHMgdGhlIHJlcXVlc3Qgd2lsbCBmYWlsLiA8YnIvPiAqRXhhbXBsZToqIGBjb21wdXRlL2luc3RhbmNlYOJBAQIS7AEKCXByaW5jaXBhbBgGIAEoCULYAZJB1AEy0QFVc2VySUQgb3IgU2VydmljZVVzZXJJRCB0aGF0IHNob3VsZCBiZSBtYXJrZWQgYXMgb3duZXIgb2YgdGhlIHJlc291cmNlLiBJZiBub3QgcHJvdmlkZWQsIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHdpbGwgYmUgbWFkZSB0aGUgcmVzb3VyY2Ugb3duZXIuIDxici8+ICpFeGFtcGxlOiogYHVzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YBIpCghtZXRhZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgEEAVKBAgFEAYipgEKHENyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSRgoEYm9keRgBIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keUII+kIFigECEAESEgoKcHJvamVjdF9pZBgCIAEoCRIqCgJpZBgDIAEoCUIekkEbMhlBdXRvZ2VuZXJhdGVkIGlmIHNraXBwZWQuIlYKHUNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJKChlHZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEANKBAgCEAMiUwoaR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2USNQoIcmVzb3VyY2UYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlInwKHFVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2VSZXF1ZXN0Qm9keRISCgpwcm9qZWN0X2lkGAMgASgJIlYKHVVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJHChxEZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEhsKCnByb2plY3RfaWQYAyABKAlCB/pCBHICEAMiHwodRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UigwYKHkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVxdWVzdBJDCglvYmplY3RfaWQYASABKAlCMBgBkkErMilEZXByZWNhdGVkLiBVc2UgYHJlc291cmNlYCBmaWVsZCBpbnN0ZWFkLhJKChBvYmplY3RfbmFtZXNwYWNlGAIgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SjAEKCnBlcm1pc3Npb24YAyABKAlCeJJBWTJXdGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCwgYGxpc3RgLCBgY29tcHV0ZS5pbnN0YW5jZS5jcmVhdGVg4kEBAvpCFXITMhFeW0EtWmEtejAtOS5fLV0rJBLAAwoIcmVzb3VyY2UYBCABKAlCrQOSQakDMqYDYG5hbWVzcGFjZTp1dWlkYCBvciBgbmFtZXNwYWNlOm5hbWVgIG9mIHRoZSBvcmcgb3IgcHJvamVjdCwgYW5kIGBuYW1lc3BhY2U6dXJuYCBvZiBhIHJlc291cmNlIHVuZGVyIGEgcHJvamVjdC4gSW4gY2FzZSBvZiBhbiBvcmcvcHJvamVjdCBlaXRoZXIgcHJvdmlkZSB0aGUgY29tcGxldGUgbmFtZXNwYWNlIChhcHAvb3JnYW5pemF0aW9uKSBvciBGcm9udGllciBjYW4gYWxzbyBwYXJzZSBhbGlhc2VzIGZvciB0aGUgc2FtZSBhcyBgb3JnYCBvciBgcHJvamVjdGAuIDxici8+ICpFeGFtcGxlOiogYG9yZ2FuaXphdGlvbjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIG9yIGBhcHAvcHJvamVjdDpwcm9qZWN0LW5hbWVgIG9yIGBjb21wdXRlL2luc3RhbmNlOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAiMQofQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXNwb25zZRIOCgZzdGF0dXMYASABKAgibgobQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0Ek8KBmJvZGllcxgBIAMoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5Qgr6QgeSAQQIARAUItIEChhCYXRjaENoZWNrUGVybWlzc2lvbkJvZHkScwoKcGVybWlzc2lvbhgBIAEoCUJfkkFAMj50aGUgcGVybWlzc2lvbiBuYW1lIHRvIGNoZWNrLiA8YnIvPiAqRXhhbXBsZToqIGBnZXRgIG9yIGBsaXN0YOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAIgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgImoKHEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2USSgoFcGFpcnMYASADKAsyOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyInUKIEJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2VQYWlyEkEKBGJvZHkYASABKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keRIOCgZzdGF0dXMYAiABKAgioQMKFU1ldGFTY2hlbWFSZXF1ZXN0Qm9keRLUAQoEbmFtZRgBIAEoCULFAZJBpgEyowFUaGUgbmFtZSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMu4kEBAvpCFHISMhBeW0EtWmEtejAtOS1fXSskErABCgZzY2hlbWEYAiABKAlCnwGSQZABMo0BVGhlIHNjaGVtYSBvZiB0aGUgbWV0YXNjaGVtYS4gVGhlIHNjaGVtYSBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEu4kEBAvpCBHICEAIiYwoXQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QSSAoEYm9keRgBIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhDcmVhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIiChRHZXRNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSJSChVHZXRNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSJvChdVcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCRJICgRib2R5GAIgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hUmVxdWVzdEJvZHlCCPpCBYoBAhABIlUKGFVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZRI5CgptZXRhc2NoZW1hGAEgASgLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hIiUKF0RlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSIYChZMaXN0TWV0YVNjaGVtYXNSZXF1ZXN0IlUKF0xpc3RNZXRhU2NoZW1hc1Jlc3BvbnNlEjoKC21ldGFzY2hlbWFzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5NZXRhU2NoZW1hItABCiBMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSDgoGc291cmNlGAUgASgJEg4KBmFjdGlvbhgGIAEoCRIVCg1pZ25vcmVfc3lzdGVtGAcgASgIEi4KCnN0YXJ0X3RpbWUYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJWCiFMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVzcG9uc2USMQoEbG9ncxgBIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2ciegoiQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSOwoEbG9ncxgCIAMoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRMb2dCCPpCBZIBAggBIiUKI0NyZWF0ZU9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIk4KHkdldE9yZ2FuaXphdGlvbkF1ZGl0TG9nUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSEwoCaWQYAiABKAlCB/pCBHICEAMiUwofR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXNwb25zZRIwCgNsb2cYASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0TG9nIhwKGkRlc2NyaWJlUHJlZmVyZW5jZXNSZXF1ZXN0IlkKG0Rlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZRI6CgZ0cmFpdHMYASADKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VUcmFpdCKHAQokQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJjCiVDcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjkKIkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiYQojTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiggEKH0NyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIl4KIENyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIjQKHUxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIlwKHkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSKAAQodQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBIlwKHkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIyChtMaXN0R3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWgocTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJ/ChxDcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJbCh1DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIxChpMaXN0VXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJZChtMaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UicQojQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSSgoGYm9kaWVzGAIgAygLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlUmVxdWVzdEJvZHlCCPpCBZIBAggBImIKJENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSIjCiFMaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QiYAoiTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSJICh1CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBIZCghwcm92aWRlchgBIAEoCUIH+kIEcgIQARIMCgRib2R5GAIgASgMIiAKHkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXNwb25zZSKEBAobQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXF1ZXN0Ej4KBG5hbWUYASABKAlCMJJBFzIVZnVsbCBuYW1lIG9mIHRoZSB1c2Vy+kITchEyDF5bQS1aYS16IF0rJNABARIyCgVlbWFpbBgFIAEoCUIjkkETMhFlbWFpbCBvZiB0aGUgdXNlcuJBAQL6QgZyBBABYAESLAoFcGhvbmUYBiABKAlCHZJBGjIYcGhvbmUgbnVtYmVyIG9mIHRoZSB1c2VyEoABCghhY3Rpdml0eRgHIAEoCUJukkFOMkxhY3Rpdml0eSBmb3Igd2hpY2ggdXNlciBpcyBzdWJzY3JpYmluZywgZS5nLiBuZXdzbGV0dGVyLCB3YWl0bGlzdCwgYmxvZ3MgZXRj4kEBAvpCFnIUEAEyEF5bQS1aYS16MC05LV9dKyQSbQoGc291cmNlGAkgASgJQl2SQUAyPnNvdXJjZSBvZiB0aGlzIHVzZXIgYWRkaXRpb24gZS5nLiBwbGF0Zm9ybSwgd2Vic2l0ZSwgYWRtaW4gZXRj+kIXchUyEF5bQS1aYS16MC05LV9dKyTQAQESUQoIbWV0YWRhdGEYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QiaSQSMyIWFkZGl0aW9uYWwgaW5mbyBhcyBrZXkgdmFsdWUgcGFpciIeChxDcmVhdGVQcm9zcGVjdFB1YmxpY1Jlc3BvbnNlIhUKE0xpc3RTZXNzaW9uc1JlcXVlc3QiTAoUTGlzdFNlc3Npb25zUmVzcG9uc2USNAoIc2Vzc2lvbnMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlc3Npb24iOAoUUmV2b2tlU2Vzc2lvblJlcXVlc3QSIAoKc2Vzc2lvbl9pZBgBIAEoCUIM4kEBAvpCBXIDsAEBIhcKFVJldm9rZVNlc3Npb25SZXNwb25zZSIYChZQaW5nVXNlclNlc3Npb25SZXF1ZXN0IhkKF1BpbmdVc2VyU2Vzc2lvblJlc3BvbnNlIrEDChhDcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QSQAoFYWN0b3IYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkQWN0b3JCBOJBAQISGgoFZXZlbnQYAiABKAlCC+JBAQL6QgRyAhADEkYKCHJlc291cmNlGAMgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZFJlc291cmNlQgTiQQECEjwKBnRhcmdldBgEIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmRUYXJnZXQSNQoLb2NjdXJyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgTiQQECEhgKBm9yZ19pZBgGIAEoCUII+kIFcgOwAQESDgoGcmVxX2lkGAcgASgJEikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIlCg9pZGVtcG90ZW5jeV9rZXkYCSABKAlCDOJBAQL6QgVyA7ABASJZChlDcmVhdGVBdWRpdFJlY29yZFJlc3BvbnNlEjwKDGF1ZGl0X3JlY29yZBgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmQyxpkDCg9Gcm9udGllclNlcnZpY2US6AIKCUxpc3RVc2VycxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJzUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJzUmVzcG9uc2Ui/wGSQeUBCgRVc2VyEhFMaXN0IHB1YmxpYyB1c2VycxrJAVJldHVybnMgdGhlIHVzZXJzIGZyb20gYWxsIHRoZSBvcmdhbml6YXRpb25zIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSBrZXl3b3JkLCBvcmdhbml6YXRpb24sIGdyb3VwIGFuZCBzdGF0ZS4gQWRkaXRpb25hbGx5IHlvdSBjYW4gaW5jbHVkZSBwYWdlIG51bWJlciBhbmQgcGFnZSBzaXplIGZvciBwYWdpbmF0aW9uLoLT5JMCEBIOL3YxYmV0YTEvdXNlcnMSuwYKCkNyZWF0ZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVzcG9uc2UizwWSQa8FCgRVc2VyEgtDcmVhdGUgdXNlchqXBUNyZWF0ZSBhIHVzZXIgd2l0aCB0aGUgZ2l2ZW4gZGV0YWlscy4gQSB1c2VyIGlzIG5vdCBhdHRhY2hlZCB0byBhbiBvcmdhbml6YXRpb24gb3IgYSBncm91cCBieSBkZWZhdWx0LGFuZCBjYW4gYmUgaW52aXRlZCB0byB0aGUgb3JnL2dyb3VwLiBUaGUgbmFtZSBvZiB0aGUgdXNlciBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZS4gSWYgYSB1c2VyIG5hbWUgaXMgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4gVGhlIHVzZXIgbWV0YWRhdGEgaXMgdmFsaWRhdGVkIGFnYWluc3QgdGhlIHVzZXIgbWV0YXNjaGVtYS4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGBsYWJlbHNgIGFuZCBgZGVzY3JpcHRpb25zYCBmb3IgdGhlIHVzZXIuIFRoZSBgdGl0bGVgIGZpZWxkIGNhbiBiZSBvcHRpb25hbGx5IGFkZGVkIGZvciBhIHVzZXItZnJpZW5kbHkgbmFtZS4gPGJyLz48YnIvPipFeGFtcGxlOipgeyJlbWFpbCI6ImpvaG4uZG9lQHJheXN0YWNrLm9yZyIsInRpdGxlIjoiSm9obiBEb2UiLG1ldGFkYXRhOnsibGFiZWwiOiB7ImtleTEiOiAidmFsdWUxIn0sICJkZXNjcmlwdGlvbiI6ICJVc2VyIERlc2NyaXB0aW9uIn19YGIAgtPkkwIWIg4vdjFiZXRhMS91c2VyczoEYm9keRLPAQoHR2V0VXNlchIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXNlclJlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXNwb25zZSJtkkFPCgRVc2VyEghHZXQgdXNlcho9R2V0IGEgdXNlciBieSBpZCBzZWFyY2hlZCBvdmVyIGFsbCBvcmdhbml6YXRpb25zIGluIEZyb250aWVyLoLT5JMCFRITL3YxYmV0YTEvdXNlcnMve2lkfRLqAgoOTGlzdFVzZXJHcm91cHMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJHcm91cHNSZXNwb25zZSLyAZJBzAEKBFVzZXISEExpc3QgdXNlciBncm91cHMasQFMaXN0cyBhbGwgdGhlIGdyb3VwcyBhIHVzZXIgYmVsb25ncyB0byBhY3Jvc3MgYWxsIG9yZ2FuaXphdGlvbiBpbiBGcm9udGllci4gVG8gZ2V0IHRoZSBncm91cHMgb2YgYSB1c2VyIGluIGEgc3BlY2lmaWMgb3JnYW5pemF0aW9uLCB1c2UgdGhlIG9yZ19pZCBmaWx0ZXIgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlci6C0+STAhwSGi92MWJldGExL3VzZXJzL3tpZH0vZ3JvdXBzEscBChVMaXN0Q3VycmVudFVzZXJHcm91cHMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlIjuSQRYKBFVzZXISDkxpc3QgbXkgZ3JvdXBzgtPkkwIcEhovdjFiZXRhMS91c2Vycy9zZWxmL2dyb3VwcxKtAQoOR2V0Q3VycmVudFVzZXISMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q3VycmVudFVzZXJSZXNwb25zZSI2kkEYCgRVc2VyEhBHZXQgY3VycmVudCB1c2VygtPkkwIVEhMvdjFiZXRhMS91c2Vycy9zZWxmEqIBCgpVcGRhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlc3BvbnNlIjeSQRMKBFVzZXISC1VwZGF0ZSB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy97aWR9OgRib2R5Er8BChFVcGRhdGVDdXJyZW50VXNlchIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVDdXJyZW50VXNlclJlc3BvbnNlIj+SQRsKBFVzZXISE1VwZGF0ZSBjdXJyZW50IHVzZXKC0+STAhsaEy92MWJldGExL3VzZXJzL3NlbGY6BGJvZHkSkQIKCkVuYWJsZVVzZXISLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVVzZXJSZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVzcG9uc2UipQGSQX0KBFVzZXISC0VuYWJsZSB1c2VyGmhTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgdXNlciBhcyBlbmFibGVkLiBUaGUgdXNlciB3aWxsIGJlIGFibGUgdG8gbG9nIGluIGFuZCBhY2Nlc3MgdGhlIEZyb250aWVyIGluc3RhbmNlLoLT5JMCHyIaL3YxYmV0YTEvdXNlcnMve2lkfS9lbmFibGU6ASoSkAMKC0Rpc2FibGVVc2VyEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVVc2VyUmVzcG9uc2UioQKSQfcBCgRVc2VyEgxEaXNhYmxlIHVzZXIa4AFTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgdXNlciBhcyBkaWFibGVkLlRoZSB1c2VyJ3MgbWVtYmVyc2hpcCB0byBncm91cHMgYW5kIG9yZ2FuaXphdGlvbnMgd2lsbCBzdGlsbCBleGlzdCBhbG9uZyB3aXRoIGFsbCBpdCdzIHJvbGVzIGZvciBhY2Nlc3MgY29udHJvbCwgYnV0IHRoZSB1c2VyIHdpbGwgbm90IGJlIGFibGUgdG8gbG9nIGluIGFuZCBhY2Nlc3MgdGhlIEZyb250aWVyIGluc3RhbmNlLoLT5JMCICIbL3YxYmV0YTEvdXNlcnMve2lkfS9kaXNhYmxlOgEqEvcBCgpEZWxldGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlc3BvbnNlIosBkkFtCgRVc2VyEgtEZWxldGUgdXNlchpYRGVsZXRlIGFuIHVzZXIgcGVybWFuZW50bHkgZm9yZXZlciBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgKG9yZ2FuaXphdGlvbnMsIGdyb3VwcywgZXRjKYLT5JMCFSoTL3YxYmV0YTEvdXNlcnMve2lkfRL/BAoXTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXISOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXNwb25zZSLsA5JBvwMKBFVzZXISFkdldCB1c2VyIG9yZ2FuaXphdGlvbnMangNUaGlzIEFQSSByZXR1cm5zIHR3byBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgZm9yIHRoZSB1c2VyLiBpKSBUaGUgbGlzdCBvZiBvcmdzIHdoaWNoIHRoZSBjdXJyZW50IHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YgaWkpIFRoZSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMgdGhlIHVzZXIgY2FuIGpvaW4gZGlyZWN0bHkgKGJhc2VkIG9uIGRvbWFpbiB3aGl0ZWxpc3RlZCBhbmQgdmVyaWZpZWQgYnkgdGhlIG9yZykuIFRoaXMgbGlzdCB3aWxsIGFsc28gY29udGFpbiBvcmdzIG9mIHdoaWNoIHVzZXIgaXMgYWxyZWFkeSBhIHBhcnQgb2YuIE5vdGU6IHRoZSBkb21haW4gbmVlZHMgdG8gYmUgdmVyaWZpZWQgYnkgdGhlIG9yZyBiZWZvcmUgdGhlIGl0IGlzIHJldHVybmVkIGFzIG9uZSBvZiB0aGUgam9pbmFibGUgb3JncyBieSBkb21haW6C0+STAiMSIS92MWJldGExL3VzZXJzL3tpZH0vb3JnYW5pemF0aW9ucxKkBQoeTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyEkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXJSZXF1ZXN0GkEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5Q3VycmVudFVzZXJSZXNwb25zZSL8A5JBzwMKBFVzZXISFEdldCBteSBvcmdhbml6YXRpb25zGrADVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy9zZWxmL29yZ2FuaXphdGlvbnMS7AEKEkxpc3RQcm9qZWN0c0J5VXNlchI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlVc2VyUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlVc2VyUmVzcG9uc2UiaZJBQgoEVXNlchIRR2V0IHVzZXIgcHJvamVjdHMaJ0dldCBhbGwgdGhlIHByb2plY3RzIGEgdXNlciBiZWxvbmdzIHRvLoLT5JMCHhIcL3YxYmV0YTEvdXNlcnMve2lkfS9wcm9qZWN0cxKEAgoZTGlzdFByb2plY3RzQnlDdXJyZW50VXNlchI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXNwb25zZSJskkFFCgRVc2VyEg9HZXQgbXkgcHJvamVjdHMaLEdldCBhbGwgcHJvamVjdHMgdGhlIGN1cnJlbnQgdXNlciBiZWxvbmdzIHRvgtPkkwIeEhwvdjFiZXRhMS91c2Vycy9zZWxmL3Byb2plY3RzEvcBChNMaXN0VXNlckludml0YXRpb25zEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckludml0YXRpb25zUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1Jlc3BvbnNlInGSQUcKBFVzZXISFUxpc3QgdXNlciBpbnZpdGF0aW9ucxooTGlzdCBhbGwgdGhlIGludml0YXRpb25zIHNlbnQgdG8gYSB1c2VyLoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMve2lkfS9pbnZpdGF0aW9ucxKSAgoaTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VySW52aXRhdGlvbnNSZXNwb25zZSJ3kkFNCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaLkxpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGN1cnJlbnQgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3NlbGYvaW52aXRhdGlvbnMSqAIKEExpc3RTZXJ2aWNlVXNlcnMSMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlcnNSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVzcG9uc2UiqgGSQYkBCgtTZXJ2aWNlVXNlchIWTGlzdCBvcmcgc2VydmljZSB1c2VycxpiUmV0dXJucyB0aGUgc2VydmljZSB1c2VyIG9mIGFuIG9yZ2FuaXphdGlvbiBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyIGJ5IGl0J3Mgc3RhdGWC0+STAhcSFS92MWJldGExL3NlcnZpY2V1c2VycxL0AQoRQ3JlYXRlU2VydmljZVVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZSJ0kkE6CgtTZXJ2aWNlVXNlchITQ3JlYXRlIHNlcnZpY2UgdXNlchoWQ3JlYXRlIGEgc2VydmljZSB1c2VyLoLT5JMCMSIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnM6ASoS+AEKDkdldFNlcnZpY2VVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VyUmVzcG9uc2UigAGSQUQKC1NlcnZpY2VVc2VyEhBHZXQgc2VydmljZSB1c2VyGiNHZXQgc2VydmljZSB1c2VyIGRldGFpbHMgYnkgaXRzIGlkLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfRK+AgoRRGVsZXRlU2VydmljZVVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJSZXNwb25zZSK9AZJBgAEKC1NlcnZpY2VVc2VyEhNEZWxldGUgc2VydmljZSB1c2VyGlxEZWxldGUgYSBzZXJ2aWNlIHVzZXIgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChrZXlzLCBvcmdhbml6YXRpb25zLCByb2xlcywgZXRjKYLT5JMCMyoxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfRKYAwoUQ3JlYXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKOApJByQEKC1NlcnZpY2VVc2VyEitDcmVhdGUgc2VydmljZSB1c2VyIHB1YmxpYy9wcml2YXRlIGtleSBwYWlyGowBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIga2V5IGFuZCByZXR1cm4gaXQsIHRoZSBwcml2YXRlIGtleSBwYXJ0IG9mIHRoZSByZXNwb25zZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBrZXB0IHNlY3VyZWx5IGJ5IGNsaWVudC6C0+STAjsiNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5czoBKhKvAgoTTGlzdFNlcnZpY2VVc2VySldLcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VySldLc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXNwb25zZSKoAZJBZwoLU2VydmljZVVzZXISFkxpc3Qgc2VydmljZSB1c2VyIGtleXMaQExpc3QgYWxsIHRoZSBrZXlzIG9mIGEgc2VydmljZSB1c2VyIHdpdGggaXRzIGRldGFpbHMgZXhjZXB0IGp3ay6C0+STAjgSNi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cxKWAgoRR2V0U2VydmljZVVzZXJKV0sSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJKV0tSZXNwb25zZSKVAZJBSwoLU2VydmljZVVzZXISFEdldCBzZXJ2aWNlIHVzZXIga2V5GiZHZXQgYSBzZXJ2aWNlIHVzZXIgcHVibGljIFJTQSBKV0sgc2V0LoLT5JMCQRI/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqICChREZWxldGVTZXJ2aWNlVXNlckpXSxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlIpgBkkFOCgtTZXJ2aWNlVXNlchIXRGVsZXRlIHNlcnZpY2UgdXNlciBrZXkaJkRlbGV0ZSBhIHNlcnZpY2UgdXNlciBrZXkgcGVybWFuZW50bHkugtPkkwJBKj8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMve2tleV9pZH0SpAMKG0NyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbBI9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBo+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVzcG9uc2UihQKSQb0BCgtTZXJ2aWNlVXNlchImQ3JlYXRlIHNlcnZpY2UgdXNlciBjbGllbnQgY3JlZGVudGlhbHMahQFHZW5lcmF0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsIGFuZCByZXR1cm4gaXQuIFRoZSBjcmVkZW50aWFsIHZhbHVlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIHNlY3VyZWx5IHN0b3JlZCBieSBjbGllbnQugtPkkwI+IjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHM6ASoSuQIKGkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckNyZWRlbnRpYWxzUmVzcG9uc2UinQGSQVkKC1NlcnZpY2VVc2VyEh1MaXN0IHNlcnZpY2UgdXNlciBjcmVkZW50aWFscxorTGlzdCBhbGwgdGhlIGNyZWRlbnRpYWxzIG9mIGEgc2VydmljZSB1c2VyLoLT5JMCOxI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzEsACChtEZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIqEBkkFRCgtTZXJ2aWNlVXNlchIfRGVsZXRlIHNlcnZpY2UgdXNlciBjcmVkZW50aWFscxohRGVsZXRlIGEgc2VydmljZSB1c2VyIGNyZWRlbnRpYWwugtPkkwJHKkUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3NlY3JldHMve3NlY3JldF9pZH0S/AIKFkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW4SOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVzcG9uc2Ui7AGSQaUBCgtTZXJ2aWNlVXNlchIZQ3JlYXRlIHNlcnZpY2UgdXNlciB0b2tlbhp7R2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgdG9rZW4gYW5kIHJldHVybiBpdC4gVGhlIHRva2VuIHZhbHVlIHdpbGwgbm90IGJlIHBlcnNpc3RlZCBhbmQgc2hvdWxkIGJlIHNlY3VyZWx5IHN0b3JlZCBieSBjbGllbnQugtPkkwI9IjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VuczoBKhKfAgoVTGlzdFNlcnZpY2VVc2VyVG9rZW5zEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJUb2tlbnNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJUb2tlbnNSZXNwb25zZSKSAZJBTwoLU2VydmljZVVzZXISGExpc3Qgc2VydmljZSB1c2VyIHRva2VucxomTGlzdCBhbGwgdGhlIHRva2VucyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjoSOC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zEqQCChZEZWxldGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIpQBkkFGCgtTZXJ2aWNlVXNlchIZRGVsZXRlIHNlcnZpY2UgdXNlciB0b2tlbhocRGVsZXRlIGEgc2VydmljZSB1c2VyIHRva2VuLoLT5JMCRSpDL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnMve3Rva2VuX2lkfRKwAgoXTGlzdFNlcnZpY2VVc2VyUHJvamVjdHMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXNwb25zZSKdAZJBWAoLU2VydmljZVVzZXISGkxpc3Qgc2VydmljZSBzc2VyIHByb2plY3RzGi1MaXN0IGFsbCBwcm9qZWN0cyB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG+C0+STAjwSOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vcHJvamVjdHMS5AIKFkxpc3RPcmdhbml6YXRpb25Hcm91cHMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVzcG9uc2Ui1AGSQaIBCgVHcm91cBIYTGlzdCBvcmdhbml6YXRpb24gZ3JvdXBzGn9HZXQgYWxsIGdyb3VwcyB0aGF0IGJlbG9uZyB0byBhbiBvcmdhbml6YXRpb24uIFRoZSByZXN1bHRzIGNhbiBiZSBmaWx0ZXJlZCBieSBzdGF0ZSB3aGljaCBjYW4gYmUgZWl0aGVyIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQugtPkkwIoEiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwcxKdAwoLQ3JlYXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBSZXNwb25zZSKuApJB9gEKBUdyb3VwEgxDcmVhdGUgZ3JvdXAa3gFDcmVhdGUgYSBuZXcgZ3JvdXAgaW4gYW4gb3JnYW5pemF0aW9uIHdoaWNoIHNlcnZlcyBhcyBhIGNvbnRhaW5lciBmb3IgdXNlcnMuIFRoZSBncm91cCBjYW4gYmUgYXNzaWduZWQgcm9sZXMgYW5kIHBlcm1pc3Npb25zIGFuZCBjYW4gYmUgdXNlZCB0byBtYW5hZ2UgYWNjZXNzIHRvIHJlc291cmNlcy4gQWxzbyBhIGdyb3VwIGNhbiBhbHNvIGJlIGFzc2lnbmVkIHRvIG90aGVyIGdyb3Vwcy6C0+STAi4iJi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzOgRib2R5Eq0BCghHZXRHcm91cBIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXF1ZXN0GisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRHcm91cFJlc3BvbnNlIkiSQRIKBUdyb3VwEglHZXQgZ3JvdXCC0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0SvwEKC1VwZGF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUdyb3VwUmVzcG9uc2UiUZJBFQoFR3JvdXASDFVwZGF0ZSBncm91cILT5JMCMxorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfToEYm9keRL+AQoOTGlzdEdyb3VwVXNlcnMSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwVXNlcnNSZXNwb25zZSKGAZJBSgoFR3JvdXASEExpc3QgZ3JvdXAgdXNlcnMaL1JldHVybnMgYSBsaXN0IG9mIHVzZXJzIHRoYXQgYmVsb25nIHRvIGEgZ3JvdXAugtPkkwIzEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L3VzZXJzEt0CCg1BZGRHcm91cFVzZXJzEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRHcm91cFVzZXJzUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1Jlc3BvbnNlIugBkkGoAQoFR3JvdXASDkFkZCBncm91cCB1c2VyGo4BQWRkcyBhIHByaW5jaXBsZSh1c2VyIGFuZCBzZXJ2aWNlLXVzZXJzKSB0byBhIGdyb3VwLCBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBiZSBpZ25vcmVkLiBBIGdyb3VwIGNhbid0IGhhdmUgbmVzdGVkIGdyb3VwcyBhcyBtZW1iZXJzLoLT5JMCNiIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VyczoBKhLvAgoPUmVtb3ZlR3JvdXBVc2VyEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVHcm91cFVzZXJSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVHcm91cFVzZXJSZXNwb25zZSL0AZJBrQEKBUdyb3VwEhFSZW1vdmUgZ3JvdXAgdXNlchqQAVJlbW92ZXMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgZnJvbSBhIGdyb3VwLiBJZiB0aGUgdXNlciBpcyBub3QgaW4gdGhlIGdyb3VwLCB0aGUgcmVxdWVzdCB3aWxsIHN1Y2NlZWQgYnV0IG5vIGNoYW5nZXMgd2lsbCBiZSBtYWRlLoLT5JMCPSo7L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2Vycy97dXNlcl9pZH0SwwIKC0VuYWJsZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUdyb3VwUmVzcG9uc2Ui1AGSQZMBCgVHcm91cBIMRW5hYmxlIGdyb3VwGnxTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgZ3JvdXAgYXMgZW5hYmxlZC4gVGhlIGBlbmFibGVkYCBmbGFnIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBncm91cCBjYW4gYmUgdXNlZCBmb3IgYWNjZXNzIGNvbnRyb2wugtPkkwI3IjIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2VuYWJsZToBKhLUAwoMRGlzYWJsZUdyb3VwEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlR3JvdXBSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlR3JvdXBSZXNwb25zZSLiApJBoAIKBUdyb3VwEg1EaXNhYmxlIGdyb3VwGocCU2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGRpc2FibGVkLiBUaGUgZ3JvdXAgd2lsbCBub3QgYmUgYXZhaWxhYmxlIGZvciBhY2Nlc3MgY29udHJvbCBhbmQgdGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBncm91cCB3aWxsIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgcmVzb3VyY2VzIHRoYXQgYXJlIGFzc2lnbmVkIHRvIHRoZSBncm91cC4gTm8gb3RoZXIgdXNlcnMgY2FuIGJlIGFkZGVkIHRvIHRoZSBncm91cCB3aGlsZSBpdCBpcyBkaXNhYmxlZC6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vZGlzYWJsZToBKhL9AQoLRGVsZXRlR3JvdXASLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlR3JvdXBSZXNwb25zZSKOAZJBWAoFR3JvdXASDERlbGV0ZSBncm91cBpBRGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBncm91cCBwZXJtYW5lbnRseSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnOC0+STAi0qKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0SkwIKCUxpc3RSb2xlcxIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFJvbGVzUmVxdWVzdBosLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFJvbGVzUmVzcG9uc2UiqgGSQZABCgRSb2xlEhNMaXN0IHBsYXRmb3JtIHJvbGVzGnNSZXR1cm5zIGEgbGlzdCBvZiBwbGF0Zm9ybSB3aWRlIHJvbGVzIGF2YWlsYWJsZSBpbiBlbml0cmUgRnJvbnRpZXIgaW5zdGFuY2UgYWxvbmcgd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwIQEg4vdjFiZXRhMS9yb2xlcxK8AgoVTGlzdE9yZ2FuaXphdGlvblJvbGVzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUm9sZXNSZXNwb25zZSKvAZJBfwoEUm9sZRIXTGlzdCBvcmdhbml6YXRpb24gcm9sZXMaXlJldHVybnMgYSBsaXN0IG9mIGN1c3RvbSByb2xlcyBjcmVhdGVkIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiB3aXRoIHRoZWlyIGFzc29jaWF0ZWQgcGVybWlzc2lvbnOC0+STAicSJS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMS9wIKFkNyZWF0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2Ui5wGSQbABCgRSb2xlEhhDcmVhdGUgb3JnYW5pemF0aW9uIHJvbGUajQFDcmVhdGUgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24uIFRoaXMgY3VzdG9tIHJvbGUgd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCB0byB0aGUgcHJpbmNpcGxlcyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi6C0+STAi0iJS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXM6BGJvZHkSrAIKE0dldE9yZ2FuaXphdGlvblJvbGUSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipQGSQXAKBFJvbGUSFUdldCBvcmdhbml6YXRpb24gcm9sZRpRUmV0dXJucyBhIGN1c3RvbSByb2xlIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBhbG9uZyB3aXRoIGl0cyBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwIsEiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH0S/AIKFlVwZGF0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2Ui7AGSQbABCgRSb2xlEhhVcGRhdGUgb3JnYW5pemF0aW9uIHJvbGUajQFVcGRhdGUgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24uIFRoaXMgY3VzdG9tIHJvbGUgd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBmb3IgYXNzaWdubWVudCB0byB0aGUgcHJpbmNpcGxlcyB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbi6C0+STAjIaKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfToEYm9keRK3AgoWRGVsZXRlT3JnYW5pemF0aW9uUm9sZRI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKnAZJBcgoEUm9sZRIYRGVsZXRlIG9yZ2FuaXphdGlvbiByb2xlGlBEZWxldGUgYSBjdXN0b20gcm9sZSBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgdW5kZXIgYW4gb3JnYW5pemF0aW9uIHBlcm1hbmVudGx5LoLT5JMCLCoqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EpoCChFMaXN0T3JnYW5pemF0aW9ucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc1Jlc3BvbnNlIpkBkkF4CgxPcmdhbml6YXRpb24SEkxpc3Qgb3JnYW5pemF0aW9ucxpUUmV0dXJucyBhIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucy4gSXQgY2FuIGJlIGZpbHRlcmVkIGJ5IHVzZXJJRCBvciBvcmdhbml6YXRpb24gc3RhdGUugtPkkwIYEhYvdjFiZXRhMS9vcmdhbml6YXRpb25zEs0BChJDcmVhdGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIkqSQSMKDE9yZ2FuaXphdGlvbhITQ3JlYXRlIG9yZ2FuaXphdGlvboLT5JMCHiIWL3YxYmV0YTEvb3JnYW5pemF0aW9uczoEYm9keRLgAQoPR2V0T3JnYW5pemF0aW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25SZXNwb25zZSJmkkFACgxPcmdhbml6YXRpb24SEEdldCBvcmdhbml6YXRpb24aHkdldCBvcmdhbml6YXRpb24gYnkgSUQgb3IgbmFtZYLT5JMCHRIbL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eu0BChJVcGRhdGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU9yZ2FuaXphdGlvblJlc3BvbnNlImqSQT4KDE9yZ2FuaXphdGlvbhITVXBkYXRlIG9yZ2FuaXphdGlvbhoZVXBkYXRlIG9yZ2FuaXphdGlvbiBieSBJRILT5JMCIxobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9OgRib2R5Ep8CChhMaXN0T3JnYW5pemF0aW9uUHJvamVjdHMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Qcm9qZWN0c1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Qcm9qZWN0c1Jlc3BvbnNlIokBkkFaCgxPcmdhbml6YXRpb24SGUdldCBvcmdhbml6YXRpb24gcHJvamVjdHMaL0dldCBhbGwgcHJvamVjdHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9ugtPkkwImEiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJvamVjdHMSjgIKFkxpc3RPcmdhbml6YXRpb25BZG1pbnMSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25BZG1pbnNSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVzcG9uc2Uif5JBUgoMT3JnYW5pemF0aW9uEhhMaXN0IG9yZ2FuaXphdGlvbiBhZG1pbnMaKFJldHVybnMgYSBsaXN0IGFkbWlucyBvZiBhbiBvcmdhbml6YXRpb26C0+STAiQSIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9hZG1pbnMS3wEKFUxpc3RPcmdhbml6YXRpb25Vc2VycxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2UiU5JBJwoMT3JnYW5pemF0aW9uEhdMaXN0IG9yZ2FuaXphdGlvbiB1c2Vyc4LT5JMCIxIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzEu0CChRBZGRPcmdhbml6YXRpb25Vc2VycxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BZGRPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIuMBkkGzAQoMT3JnYW5pemF0aW9uEhVBZGQgb3JnYW5pemF0aW9uIHVzZXIaiwFBZGQgYSB1c2VyIHRvIGFuIG9yZ2FuaXphdGlvbi4gQSB1c2VyIG11c3QgZXhpc3RzIGluIEZyb250aWVyIGJlZm9yZSBhZGRpbmcgaXQgdG8gYW4gb3JnLiBUaGlzIHJlcXVlc3Qgd2lsbCBmYWlsIGlmIHRoZSB1c2VyIGRvZXNuJ3QgZXhpc3RzgtPkkwImIiEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnM6ASoSkgIKFlJlbW92ZU9yZ2FuaXphdGlvblVzZXISOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbW92ZU9yZ2FuaXphdGlvblVzZXJSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2UiggGSQUwKDE9yZ2FuaXphdGlvbhIYUmVtb3ZlIG9yZ2FuaXphdGlvbiB1c2VyGiJSZW1vdmUgYSB1c2VyIGZyb20gYW4gb3JnYW5pemF0aW9ugtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vdXNlcnMve3VzZXJfaWR9EpYCChJHZXRPcmdhbml6YXRpb25LeWMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkt5Y1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkt5Y1Jlc3BvbnNlIpIBkkFkCg9Pcmdhbml6YXRpb25LeWMSH0dldCBLWUMgaW5mbyBvZiBhbiBvcmdhbml6YXRpb24aMEdldCBLWUMgaW5mbyBvZiBhbiBvcmdhbml6YXRpb24gdXNpbmcgSUQgb3IgbmFtZYLT5JMCJRIjL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9reWMSgwIKHExpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnMSPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25TZXJ2aWNlVXNlcnNSZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVzcG9uc2UiYpJBLwoMT3JnYW5pemF0aW9uEh9MaXN0IG9yZ2FuaXphdGlvbiBzZXJ2aWNlIHVzZXJzgtPkkwIqEigvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vc2VydmljZXVzZXJzErkCChtMaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnMSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1Jlc3BvbnNlIpoBkkFkCgxPcmdhbml6YXRpb24SGExpc3QgcGVuZGluZyBpbnZpdGF0aW9ucxo6UmV0dXJucyBhbGwgcGVuZGluZyBpbnZpdGF0aW9ucyBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCLRIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucxL2AgocQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSLUAZJBmgEKDE9yZ2FuaXphdGlvbhILSW52aXRlIHVzZXIafUludml0ZSB1c2VycyB0byBhbiBvcmdhbml6YXRpb24sIGlmIHVzZXIgaXMgbm90IHJlZ2lzdGVyZWQgb24gdGhlIHBsYXRmb3JtLCBpdCB3aWxsIGJlIG5vdGlmaWVkLiBJbnZpdGF0aW9ucyBleHBpcmUgaW4gNyBkYXlzgtPkkwIwIisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zOgEqErMCChlHZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpoBkkFfCgxPcmdhbml6YXRpb24SFkdldCBwZW5kaW5nIGludml0YXRpb24aN1JldHVybnMgYSBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAjISMC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfRKZAwocQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSL3AZJBsQEKDE9yZ2FuaXphdGlvbhIZQWNjZXB0IHBlbmRpbmcgaW52aXRhdGlvbhqFAUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24gcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb24uIFRoZSB1c2VyIHdpbGwgYmUgYWRkZWQgdG8gdGhlIG9yZ2FuaXphdGlvbiBhbmQgZ3JvdXBzIGRlZmluZWQgaW4gdGhlIGludml0YXRpb26C0+STAjwiNy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMve2lkfS9hY2NlcHQ6ASoSvgIKHERlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UinAGSQWEKDE9yZ2FuaXphdGlvbhIZRGVsZXRlIHBlbmRpbmcgaW52aXRhdGlvbho2RGVsZXRlIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyKjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0S2AMKF0xpc3RPcmdhbml6YXRpb25Eb21haW5zEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Eb21haW5zUmVzcG9uc2UixQKSQZICCgxPcmdhbml6YXRpb24SEExpc3Qgb3JnIGRvbWFpbnMa7wFSZXR1cm5zIGFsbCBkb21haW5zIHdoaXRlbGlzdGVkIGZvciBhbiBvcmdhbml6YXRpb24gKGJvdGggcGVuZGluZyBhbmQgdmVyaWZpZWQgaWYgbm8gZmlsdGVycyBhcmUgcHJvdmlkZWQgZm9yIHRoZSBzdGF0ZSkuIFRoZSB2ZXJpZmllZCBkb21haW5zIGFsbG93IHVzZXJzIGVtYWlsIHdpdGggdGhlIG9yZydzIHdoaXRlbGlzdGVkIGRvbWFpbiB0byBqb2luIHRoZSBvcmdhbml6YXRpb24gd2l0aG91dCBpbnZpdGF0aW9uLoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zEv4EChhDcmVhdGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIugDkkGyAwoMT3JnYW5pemF0aW9uEhFDcmVhdGUgb3JnIGRvbWFpbhqOA0FkZCBhIGRvbWFpbiB0byBhbiBvcmdhbml6YXRpb24gd2hpY2ggaWYgdmVyaWZpZWQgYWxsb3dzIGFsbCB1c2VycyBvZiB0aGUgc2FtZSBkb21haW4gdG8gYmUgc2lnbmVkIHVwIHRvIHRoZSBvcmdhbml6YXRpb24gd2l0aG91dCBpbnZpdGF0aW9uLiBUaGlzIEFQSSBnZW5lcmF0ZXMgYSB2ZXJpZmljYXRpb24gdG9rZW4gZm9yIGEgZG9tYWluIHdoaWNoIG11c3QgYmUgYWRkZWQgdG8geW91ciBkb21haW4ncyBETlMgcHJvdmlkZXIgYXMgYSBUWFQgcmVjb3JkIHNob3VsZCBiZSB2ZXJpZmllZCB3aXRoIEZyb250aWVyIFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbiBBUEkgYmVmb3JlIGl0IGNhbiBiZSB1c2VkIGFzIGFuIE9yZ2FuaXphdGlvbidzIHRydXN0ZWQgZG9tYWluIHRvIHNpZ24gdXAgdXNlcnMugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnM6ASoStwIKGERlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UioQGSQWoKDE9yZ2FuaXphdGlvbhIRRGVsZXRlIG9yZyBkb21haW4aR1JlbW92ZSBhIGRvbWFpbiBmcm9tIHRoZSBsaXN0IG9mIGFuIG9yZ2FuaXphdGlvbidzIHRydXN0ZWQgZG9tYWlucyBsaXN0gtPkkwIuKiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfRLiAgoVR2V0T3JnYW5pemF0aW9uRG9tYWluEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLVAZJBnQEKDE9yZ2FuaXphdGlvbhIOR2V0IG9yZyBkb21haW4afUdldCBhIGRvbWFpbiBmcm9tIHRoZSBsaXN0IG9mIGFuIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMuIFJldHVybnMgYm90aCB2ZXJpZmllZCBhbmQgdW52ZXJpZmllZCBkb21haW5zIGJ5IHRoZWlyIElEgtPkkwIuEiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfRKlBAoYVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5WZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSKPA5JBzQIKDE9yZ2FuaXphdGlvbhIRVmVyaWZ5IG9yZyBkb21haW4aqQJWZXJpZnkgYSBkb21haW4gZm9yIGFuIG9yZ2FuaXphdGlvbiB3aXRoIGEgdmVyaWZpY2F0aW9uIHRva2VuIGdlbmVyYXRlZCBieSBGcm9udGllciBHZW5lcmF0ZURvbWFpblZlcmlmaWNhdGlvblRva2VuIEFQSS4gVGhlIHRva2VuIG11c3QgYmUgYWRkZWQgdG8geW91ciBkb21haW4ncyBETlMgcHJvdmlkZXIgYXMgYSBUWFQgcmVjb3JkIGJlZm9yZSBpdCBjYW4gYmUgdmVyaWZpZWQuIFRoaXMgQVBJIHJldHVybnMgdGhlIHN0YXRlIG9mIHRoZSBkb21haW4gKHBlbmRpbmcvdmVyaWZpZWQpIGFmdGVyIHZlcmlmaWNhdGlvbi6C0+STAjgiMy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucy97aWR9L3ZlcmlmeToBKhKSAwoQSm9pbk9yZ2FuaXphdGlvbhIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSm9pbk9yZ2FuaXphdGlvblJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXNwb25zZSKUApJB4QEKDE9yZ2FuaXphdGlvbhIRSm9pbiBvcmdhbml6YXRpb24avQFBbGxvd3MgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIgdG8gam9pbiB0aGUgT3JnIGlmIG9uZSBpcyBub3QgYSBwYXJ0IG9mIGl0LiBUaGUgdXNlciB3aWxsIG9ubHkgYmUgYWJsZSB0byBqb2luIHdoZW4gdGhlIHVzZXIgZW1haWwncyBkb21haW4gbWF0Y2hlcyB0aGUgb3JnYW5pemF0aW9uJ3Mgd2hpdGVsaXN0ZWQgZG9tYWlucy6C0+STAikiJC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vam9pbjoBKhLZAgoSRW5hYmxlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVPcmdhbml6YXRpb25SZXNwb25zZSLVAZJBpAEKDE9yZ2FuaXphdGlvbhITRW5hYmxlIG9yZ2FuaXphdGlvbhp/U2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBlbmFibGVkLiBUaGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIG9yZyB3aWxsIGJlIGFibGUgdG8gYWNjZXNzIGFueSBvcmdhbml6YXRpb24gcmVzb3VyY2VzLoLT5JMCJyIiL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L2VuYWJsZToBKhLkAgoTRGlzYWJsZU9yZ2FuaXphdGlvbhI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZU9yZ2FuaXphdGlvblJlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXNwb25zZSLdAZJBqwEKDE9yZ2FuaXphdGlvbhIURGlzYWJsZSBvcmdhbml6YXRpb24ahAFTZXRzIHRoZSBzdGF0ZSBvZiB0aGUgb3JnYW5pemF0aW9uIGFzIGRpc2FibGVkLiBUaGUgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIG9yZyB3aWxsIG5vdCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAigiIy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9kaXNhYmxlOgEqEsYCChJEZWxldGVPcmdhbml6YXRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJlc3BvbnNlIsIBkkGbAQoMT3JnYW5pemF0aW9uEhNEZWxldGUgb3JnYW5pemF0aW9uGnZEZWxldGUgYW4gb3JnYW5pemF0aW9uIGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS4gVGhlIG9yZ2FuaXphdGlvbiB1c2VycyB3aWxsIG5vdCBiZSBkZWxldGVkIGZyb20gRnJvbnRpZXIugtPkkwIdKhsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0SrwEKDUNyZWF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVzcG9uc2UiO5JBGQoHUHJvamVjdBIOQ3JlYXRlIHByb2plY3SC0+STAhkiES92MWJldGExL3Byb2plY3RzOgRib2R5ErsBCgpHZXRQcm9qZWN0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc3BvbnNlIlCSQS8KB1Byb2plY3QSC0dldCBwcm9qZWN0GhdSZXR1cm5zIGEgcHJvamVjdCBieSBJRILT5JMCGBIWL3YxYmV0YTEvcHJvamVjdHMve2lkfRLNAQoNVXBkYXRlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNwb25zZSJZkkEyCgdQcm9qZWN0Eg5VcGRhdGUgcHJvamVjdBoXVXBkYXRlcyBhIHByb2plY3QgYnkgSUSC0+STAh4aFi92MWJldGExL3Byb2plY3RzL3tpZH06BGJvZHkS8wEKEUxpc3RQcm9qZWN0QWRtaW5zEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0QWRtaW5zUmVzcG9uc2Uic5JBSwoHUHJvamVjdBITTGlzdCBwcm9qZWN0IGFkbWlucxorUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgYWRtaW5zIG9mIGEgcHJvamVjdILT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9hZG1pbnMSmAIKEExpc3RQcm9qZWN0VXNlcnMSMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0VXNlcnNSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVzcG9uc2UimgGSQXMKB1Byb2plY3QSEkxpc3QgcHJvamVjdCB1c2VycxpUUmV0dXJucyBhIGNvbGxlY3Rpb24gb2YgdXNlcnMgb2YgYSBwcm9qZWN0LiBGaWx0ZXIgYnkgdXNlciBwZXJtaXNzaW9ucyBpcyBzdXBwb3J0ZWQugtPkkwIeEhwvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3VzZXJzEpECChdMaXN0UHJvamVjdFNlcnZpY2VVc2VycxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIn+SQVEKB1Byb2plY3QSGUxpc3QgcHJvamVjdCBzZXJ2aWNldXNlcnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC6C0+STAiUSIy92MWJldGExL3Byb2plY3RzL3tpZH0vc2VydmljZXVzZXJzEvQBChFMaXN0UHJvamVjdEdyb3VwcxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1Jlc3BvbnNlInSSQUwKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBncm91cHMaLFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIGdyb3VwcyBvZiBhIHByb2plY3QugtPkkwIfEh0vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2dyb3VwcxK4AQoNRW5hYmxlUHJvamVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlUHJvamVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXNwb25zZSJEkkEZCgdQcm9qZWN0Eg5FbmFibGUgcHJvamVjdILT5JMCIiIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9lbmFibGU6ASoSvQEKDkRpc2FibGVQcm9qZWN0EjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVQcm9qZWN0UmVzcG9uc2UiRpJBGgoHUHJvamVjdBIPRGlzYWJsZSBwcm9qZWN0gtPkkwIjIh4vdjFiZXRhMS9wcm9qZWN0cy97aWR9L2Rpc2FibGU6ASoS4gEKDURlbGV0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzcG9uc2UibpJBTQoHUHJvamVjdBIORGVsZXRlIFByb2plY3QaMkRlbGV0ZSBhIHByb2plY3QgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkugtPkkwIYKhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9Er0BCgxDcmVhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeVJlc3BvbnNlIkySQSoKBlBvbGljeRINQ3JlYXRlIHBvbGljeRoRQ3JlYXRlcyBhIHBvbGljeSCC0+STAhkiES92MWJldGExL3BvbGljaWVzOgRib2R5ErUBCglHZXRQb2xpY3kSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBvbGljeVJlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBvbGljeVJlc3BvbnNlIk2SQSwKBlBvbGljeRIKR2V0IHBvbGljeRoWUmV0dXJucyBhIHBvbGljeSBieSBJRILT5JMCGBIWL3YxYmV0YTEvcG9saWNpZXMve2lkfRK5AgoMTGlzdFBvbGljaWVzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UG9saWNpZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UG9saWNpZXNSZXNwb25zZSLHAZJBqgEKBlBvbGljeRIRTGlzdCBhbGwgcG9saWNpZXMajAFMaXN0cyBhbGwgdGhlIHBvbGljaWVzIGZyb20gYWxsIHRoZSBvcmdhbml6YXRpb25zIGluIGEgRnJvbnRpZXIgaW5zdGFuY2UuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSBvcmdhbml6YXRpb24sIHByb2plY3QsIHVzZXIsIHJvbGUgYW5kIGdyb3VwLoLT5JMCExIRL3YxYmV0YTEvcG9saWNpZXMSxwEKDFVwZGF0ZVBvbGljeRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUG9saWN5UmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUG9saWN5UmVzcG9uc2UiVpJBLwoGUG9saWN5Eg1VcGRhdGUgcG9saWN5GhZVcGRhdGVzIGEgcG9saWN5IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wb2xpY2llcy97aWR9OgRib2R5EtwBCgxEZWxldGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVBvbGljeVJlc3BvbnNlImuSQUoKBlBvbGljeRINRGVsZXRlIFBvbGljeRoxRGVsZXRlIGEgcG9saWN5IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcG9saWNpZXMve2lkfRKJAgoWQ3JlYXRlUG9saWN5Rm9yUHJvamVjdBI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXNwb25zZSJ6kkFCCgZQb2xpY3kSGUNyZWF0ZSBQb2xpY3kgZm9yIFByb2plY3QaHUNyZWF0ZSBhIHBvbGljeSBmb3IgYSBwcm9qZWN0gtPkkwIvIicvdjFiZXRhMS9wb2xpY2llcy9wcm9qZWN0cy97cHJvamVjdF9pZH06BGJvZHkStQEKDkNyZWF0ZVJlbGF0aW9uEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVJlbGF0aW9uUmVzcG9uc2UiPpJBGwoIUmVsYXRpb24SD0NyZWF0ZSByZWxhdGlvboLT5JMCGiISL3YxYmV0YTEvcmVsYXRpb25zOgRib2R5EsIBCgtHZXRSZWxhdGlvbhItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRSZWxhdGlvblJlc3BvbnNlIlSSQTIKCFJlbGF0aW9uEgxHZXQgcmVsYXRpb24aGFJldHVybnMgYSByZWxhdGlvbiBieSBJRILT5JMCGRIXL3YxYmV0YTEvcmVsYXRpb25zL3tpZH0SkAIKDkRlbGV0ZVJlbGF0aW9uEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVJlbGF0aW9uUmVzcG9uc2UimAGSQU4KCFJlbGF0aW9uEg9EZWxldGUgcmVsYXRpb24aMVJlbW92ZSBhIHN1YmplY3QgaGF2aW5nIGEgcmVsYXRpb24gZnJvbSBhbiBvYmplY3SC0+STAkEqPy92MWJldGExL3JlbGF0aW9ucy97cmVsYXRpb259L29iamVjdC97b2JqZWN0fS9zdWJqZWN0L3tzdWJqZWN0fRK6AQoPTGlzdFBlcm1pc3Npb25zEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGVybWlzc2lvbnNSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGVybWlzc2lvbnNSZXNwb25zZSJAkkEhCgpQZXJtaXNzaW9uEhNHZXQgYWxsIHBlcm1pc3Npb25zgtPkkwIWEhQvdjFiZXRhMS9wZXJtaXNzaW9ucxLQAQoNR2V0UGVybWlzc2lvbhIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGVybWlzc2lvblJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXNwb25zZSJckkE4CgpQZXJtaXNzaW9uEg5HZXQgcGVybWlzc2lvbhoaUmV0dXJucyBhIHBlcm1pc3Npb24gYnkgSUSC0+STAhsSGS92MWJldGExL3Blcm1pc3Npb25zL3tpZH0S7wEKDkxpc3ROYW1lc3BhY2VzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3ROYW1lc3BhY2VzUmVzcG9uc2UieJJBWgoJTmFtZXNwYWNlEhJHZXQgYWxsIG5hbWVzcGFjZXMaOVJldHVybnMgdGhlIGxpc3Qgb2YgYWxsIG5hbWVzcGFjZXMgaW4gYSBGcm9udGllciBpbnN0YW5jZYLT5JMCFRITL3YxYmV0YTEvbmFtZXNwYWNlcxLJAQoMR2V0TmFtZXNwYWNlEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXROYW1lc3BhY2VSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXROYW1lc3BhY2VSZXNwb25zZSJYkkE1CglOYW1lc3BhY2USDUdldCBuYW1lc3BhY2UaGVJldHVybnMgYSBuYW1lc3BhY2UgYnkgSUSC0+STAhoSGC92MWJldGExL25hbWVzcGFjZXMve2lkfRLZAQoUTGlzdFByb2plY3RSZXNvdXJjZXMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RSZXNvdXJjZXNSZXNwb25zZSJQkkEdCghSZXNvdXJjZRIRR2V0IGFsbCByZXNvdXJjZXOC0+STAioSKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMSgQIKFUNyZWF0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UidZJBPAoIUmVzb3VyY2USD0NyZWF0ZSByZXNvdXJjZRofQ3JlYXRlcyBhIHJlc291cmNlIGluIGEgcHJvamVjdILT5JMCMCIoL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlczoEYm9keRL1AQoSR2V0UHJvamVjdFJlc291cmNlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJykkE6CghSZXNvdXJjZRIMR2V0IHJlc291cmNlGiBSZXR1cm5zIGEgcHJvamVjdCByZXNvdXJjZSBieSBJRILT5JMCLxItL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EoYCChVVcGRhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInqSQTwKCFJlc291cmNlEg9VcGRhdGUgcmVzb3VyY2UaH1VwZGF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjUaLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfToEYm9keRKPAgoVRGVsZXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSKCAZJBSgoIUmVzb3VyY2USD0RlbGV0ZSByZXNvdXJjZRotRGVsZXRlcyBhIHJlc291cmNlIGZyb20gYSBwcm9qZWN0IHBlcm1hbmVudGx5gtPkkwIvKi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH0S+wMKF0NoZWNrUmVzb3VyY2VQZXJtaXNzaW9uEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVzcG9uc2Ui6AKSQcsCCgVBdXRoehIFQ2hlY2saugJSZXR1cm5zIHRydWUgaWYgYSBwcmluY2lwYWwgaGFzIHJlcXVpcmVkIHBlcm1pc3Npb25zIHRvIGFjY2VzcyBhIHJlc291cmNlIGFuZCBmYWxzZSBvdGhlcndpc2UuPGJyLz4gTm90ZSB0aGUgcHJpbmNpcGFsIGNhbiBiZSBhIHVzZXIgb3IgYSBzZXJ2aWNlIGFjY291bnQuIEZyb250aWVyIHdpbGwgZXh0cmFjdCBwcmluY2lwYWwgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gc2Vzc2lvbiBjb29raWUgKGlmIGFueSksIG9yIHRoZSBjbGllbnQgaWQgYW5kIHNlY3JldCAoaW4gY2FzZSBvZiBzZXJ2aWNlIHVzZXJzKSBvciB0aGUgYWNjZXNzIHRva2VuLoLT5JMCEyIOL3YxYmV0YTEvY2hlY2s6ASoSswQKFEJhdGNoQ2hlY2tQZXJtaXNzaW9uEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uUmVzcG9uc2UiqQOSQYcDCgVBdXRoehILQmF0Y2ggY2hlY2sa8AJSZXR1cm5zIHRydWUgaWYgYSBwcmluY2lwYWwgaGFzIHJlcXVpcmVkIHBlcm1pc3Npb25zIHRvIGFjY2VzcyBhIHJlc291cmNlIGFuZCBmYWxzZSBvdGhlcndpc2UuPGJyLz4gTm90ZSB0aGUgcHJpbmNpcGFsIGNhbiBiZSBhIHVzZXIgb3IgYSBzZXJ2aWNlIGFjY291bnQsIGFuZCBGcm9udGllciB3aWxsIHRoZSBjcmVkZW50aWFscyBmcm9tIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiBwcmluY2lwYWwgZnJvbSB0aGUgc2Vzc2lvbiBjb29raWUgKGlmIGFueSksIG9yIHRoZSBjbGllbnQgaWQgYW5kIHNlY3JldCAoaW4gY2FzZSBvZiBzZXJ2aWNlIHVzZXJzKSBvciB0aGUgYWNjZXNzIHRva2VuIChpbiBjYXNlIG9mIGh1bWFuIHVzZXIgYWNjb3VudHMpLoLT5JMCGCITL3YxYmV0YTEvYmF0Y2hjaGVjazoBKhK1AQoHR2V0SldLcxIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0SldLc1JlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXNwb25zZSJTkkEcCgVBdXRoehITR2V0IHdlbGwga25vd24gSldLc4LT5JMCLhISL3YxYmV0YTEvYXV0aC9qd2tzWhgSFi8ud2VsbC1rbm93bi9qd2tzLmpzb24ScQoMTGlzdFNlc3Npb25zEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2Vzc2lvbnNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2Vzc2lvbnNSZXNwb25zZSIAEnQKDVJldm9rZVNlc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJldm9rZVNlc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXZva2VTZXNzaW9uUmVzcG9uc2UiABJ6Cg9QaW5nVXNlclNlc3Npb24SMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBpbmdVc2VyU2Vzc2lvblJlcXVlc3QaMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBpbmdVc2VyU2Vzc2lvblJlc3BvbnNlIgAStwIKEkxpc3RBdXRoU3RyYXRlZ2llcxI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEF1dGhTdHJhdGVnaWVzUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2UiswGSQZoBCgVBdXRobhIeTGlzdCBhdXRoZW50aWNhdGlvbiBzdHJhdGVnaWVzGnFSZXR1cm5zIGEgbGlzdCBvZiBpZGVudGl0eSBwcm92aWRlcnMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIEdvb2dsZSwgQXp1cmVBRCwgR2l0aHViIGV0Y4LT5JMCDxINL3YxYmV0YTEvYXV0aBLpBAoMQXV0aGVudGljYXRlEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoZW50aWNhdGVSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoZW50aWNhdGVSZXNwb25zZSL3A5JBmAMKBUF1dGhuEhxBdXRoZW50aWNhdGUgd2l0aCBhIHN0cmF0ZWd5GvACQXV0aGVudGljYXRlIGEgdXNlciB3aXRoIGEgc3RyYXRlZ3kuIEJ5IGRlZmF1bHQsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24gbm8gb3BlcmF0aW9uIHdpbGwgYmUgcGVyZm9ybWVkIHRvIGFwcGx5IHJlZGlyZWN0aW9uIGluIGNhc2Ugb2YgYnJvd3NlcnMsIHByb3ZpZGUgYSB1cmwgaW4gdGhlIGF1dGhlbnRpY2F0ZSByZXF1ZXN0IGJvZHkgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIHJlZGlyZWN0aW9uIGFmdGVyIGF1dGhlbnRpY2F0aW9uLiBBbHNvIHNldCByZWRpcmVjdCBhcyB0cnVlIGZvciByZWRpcmVjdGluZyB0aGUgdXNlciByZXF1ZXN0IHRvIHRoZSByZWRpcmVjdF91cmwgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbi6C0+STAlUSJi92MWJldGExL2F1dGgvcmVnaXN0ZXIve3N0cmF0ZWd5X25hbWV9WisiJi92MWJldGExL2F1dGgvcmVnaXN0ZXIve3N0cmF0ZWd5X25hbWV9OgEqEr0ECgxBdXRoQ2FsbGJhY2sSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhDYWxsYmFja1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhDYWxsYmFja1Jlc3BvbnNlIssDkkGMAwoFQXV0aG4SGENhbGxiYWNrIGZyb20gYSBzdHJhdGVneRroAkNhbGxiYWNrIGZyb20gYSBzdHJhdGVneS4gVGhpcyBpcyB0aGUgZW5kcG9pbnQgd2hlcmUgdGhlIHN0cmF0ZWd5IHdpbGwgcmVkaXJlY3QgdGhlIHVzZXIgYWZ0ZXIgc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbi4gVGhpcyBlbmRwb2ludCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZSBjb2RlIGFuZCBzdGF0ZSBxdWVyeSBwYXJhbWV0ZXJzLiBUaGUgY29kZSB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSBhY2Nlc3MgdG9rZW4gZnJvbSB0aGUgc3RyYXRlZ3kgYW5kIHRoZSBzdGF0ZSB3aWxsIGJlIHVzZWQgdG8gZ2V0IHRoZSByZXR1cm5fdG8gdXJsIGZyb20gdGhlIHNlc3Npb24gYW5kIHJlZGlyZWN0IHRoZSB1c2VyIHRvIHRoYXQgdXJsLoLT5JMCNRIWL3YxYmV0YTEvYXV0aC9jYWxsYmFja1obIhYvdjFiZXRhMS9hdXRoL2NhbGxiYWNrOgEqEsIDCglBdXRoVG9rZW4SKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhUb2tlblJlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhUb2tlblJlc3BvbnNlItkCkkG3AgoFQXV0aG4SKkdlbmVyYXRlIGFjY2VzcyB0b2tlbiBieSBnaXZlbiBjcmVkZW50aWFscxqBAkFjY2VzcyB0b2tlbiBjYW4gYmUgZ2VuZXJhdGVkIGJ5IHByb3ZpZGluZyB0aGUgY3JlZGVudGlhbHMgaW4gdGhlIHJlcXVlc3QgYm9keS9oZWFkZXIuIFRoZSBjcmVkZW50aWFscyBjYW4gYmUgY2xpZW50IGlkIGFuZCBzZWNyZXQgb3Igc2VydmljZSBhY2NvdW50IGdlbmVyYXRlZCBrZXkgand0LiBVc2UgdGhlIGdlbmVyYXRlZCBhY2Nlc3MgdG9rZW4gaW4gQXV0aG9yaXphdGlvbiBoZWFkZXIgdG8gYWNjZXNzIHRoZSBmcm9udGllciByZXNvdXJjZXMugtPkkwIYIhMvdjFiZXRhMS9hdXRoL3Rva2VuOgEqEsEBCgpBdXRoTG9nb3V0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoTG9nb3V0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlc3BvbnNlIlaSQR8KBUF1dGhuEhZMb2dvdXQgZnJvbSBhIHN0cmF0ZWd5gtPkkwIuEhQvdjFiZXRhMS9hdXRoL2xvZ291dFoWKhQvdjFiZXRhMS9hdXRoL2xvZ291dBKuAgoPTGlzdE1ldGFTY2hlbWFzEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TWV0YVNjaGVtYXNSZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TWV0YVNjaGVtYXNSZXNwb25zZSKzAZJBkgEKCk1ldGFTY2hlbWESEExpc3QgbWV0YXNjaGVtYXMaclJldHVybnMgYSBsaXN0IG9mIGFsbCBtZXRhc2NoZW1hcyBjb25maWd1cmVkIG9uIGFuIGluc3RhbmNlIGxldmVsIGluIEZyb250aWVyLiBlLmcgdXNlciwgcHJvamVjdCwgb3JnYW5pemF0aW9uIGV0Y4LT5JMCFxIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzEp8FChBDcmVhdGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlc3BvbnNlIqEEkkH6AwoKTWV0YVNjaGVtYRIRQ3JlYXRlIG1ldGFzY2hlbWEa2ANDcmVhdGUgYSBuZXcgbWV0YWRhdGEgc2NoZW1hLiBUaGUgbWV0YXNjaGVtYSAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGVudGlyZSBGcm9udGllciBpbnN0YW5jZSBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy4gVGhlIG1ldGFzY2hlbWEgKipzY2hlbWEqKiBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEuIDxici8+KkV4YW1wbGU6KiBge25hbWU6InVzZXIiLHNjaGVtYTp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImxhYmVsIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX1ggtPkkwIdIhUvdjFiZXRhMS9tZXRhL3NjaGVtYXM6BGJvZHkS0wEKDUdldE1ldGFTY2hlbWESLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE1ldGFTY2hlbWFSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVzcG9uc2UiX5JBOgoKTWV0YVNjaGVtYRIOR2V0IG1ldGFzY2hlbWEaHEdldCBhIG1ldGFkYXRhIHNjaGVtYSBieSBJRC6C0+STAhwSGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9EsEEChBVcGRhdGVNZXRhU2NoZW1hEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVNZXRhU2NoZW1hUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlc3BvbnNlIsMDkkGXAwoKTWV0YVNjaGVtYRIRVXBkYXRlIG1ldGFzY2hlbWEa9QJVcGRhdGUgYSBtZXRhZGF0YSBzY2hlbWEuIE9ubHkgYHNjaGVtYWAgZmllbGQgb2YgYSBtZXRhc2NoZW1hIGNhbiBiZSB1cGRhdGVkLiBUaGUgbWV0YXNjaGVtYSBgc2NoZW1hYCBtdXN0IGJlIGEgdmFsaWQgSlNPTiBzY2hlbWEuUGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyB0byBrbm93IG1vcmUgYWJvdXQganNvbiBzY2hlbWEuIDxici8+KkV4YW1wbGU6KiBge25hbWU6InVzZXIiLHNjaGVtYTp7InR5cGUiOiJvYmplY3QiLCJwcm9wZXJ0aWVzIjp7ImxhYmVsIjp7InR5cGUiOiJvYmplY3QiLCJhZGRpdGlvbmFsUHJvcGVydGllcyI6eyJ0eXBlIjoic3RyaW5nIn19LCJkZXNjcmlwdGlvbiI6eyJ0eXBlIjoic3RyaW5nIn19fX1ggtPkkwIiGhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfToEYm9keRLjBAoQRGVsZXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXNwb25zZSLlA5JBvwMKCk1ldGFTY2hlbWESEURlbGV0ZSBtZXRhc2NoZW1hGp0DRGVsZXRlIGEgbWV0YWRhdGEgc2NoZW1hIHBlcm1hbmVudGx5LiBPbmNlIGRlbGV0ZWQgdGhlIG1ldGFzY2hlbWEgd29uJ3QgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEuIEZvciBleGFtcGxlLCBpZiBhIG1ldGFzY2hlbWEod2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcykgaXMgdXNlZCB0byB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgYSB1c2VyLCB0aGVuIGRlbGV0aW5nIHRoZSBtZXRhc2NoZW1hIHdpbGwgbm90IHZhbGlkYXRlIHRoZSBtZXRhZGF0YSBvZiB0aGUgdXNlciBhbmQgbWV0YWRhdGEgZmllbGQgY2FuIGNvbnRhaW4gYW55IGtleS12YWx1ZSBwYWlyKGFuZCBzYXkgYW5vdGhlciBmaWVsZCBjYWxsZWQgYGZvb2AgY2FuIGJlIGluc2VydGVkIGluIGEgdXNlcidzIG1ldGFkYXRhKS6C0+STAhwqGi92MWJldGExL21ldGEvc2NoZW1hcy97aWR9EuACChlMaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzEjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQXVkaXRMb2dzUmVxdWVzdBo8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkF1ZGl0TG9nc1Jlc3BvbnNlIscBiAIBkkGPAQoIQXVkaXRMb2cSD0xpc3QgYXVkaXQgbG9ncxpwUmV0dXJucyBhIGxpc3Qgb2YgYXVkaXQgbG9ncyBvZiBhbiBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIERFUFJFQ0FURUQ6IFVzZSBhZG1pbiBMaXN0QXVkaXRSZWNvcmRzIEFQSSBpbnN0ZWFkLlgBgtPkkwIrEikvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncxLVAgobQ3JlYXRlT3JnYW5pemF0aW9uQXVkaXRMb2dzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25BdWRpdExvZ3NSZXNwb25zZSK2AYgCAZJBfAoIQXVkaXRMb2cSEENyZWF0ZSBhdWRpdCBsb2caXENyZWF0ZSBuZXcgYXVkaXQgbG9ncyBpbiBhIGJhdGNoLiBERVBSRUNBVEVEOiBVc2UgTGlzdEF1ZGl0UmVjb3JkcyBBUEkgaW5zdGVhZCB3aXRoIGZpbHRlcnMuWAGC0+STAi4iKS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYXVkaXRsb2dzOgEqErUCChdHZXRPcmdhbml6YXRpb25BdWRpdExvZxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uQXVkaXRMb2dSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25BdWRpdExvZ1Jlc3BvbnNlIqIBiAIBkkFmCghBdWRpdExvZxINR2V0IGF1ZGl0IGxvZxpJR2V0IGFuIGF1ZGl0IGxvZyBieSBJRC4gREVQUkVDQVRFRDogVXNlIGFkbWluIEdldEF1ZGl0UmVjb3JkIEFQSSBpbnN0ZWFkLlgBgtPkkwIwEi4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2F1ZGl0bG9ncy97aWR9EokCChNEZXNjcmliZVByZWZlcmVuY2VzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZXNjcmliZVByZWZlcmVuY2VzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVzY3JpYmVQcmVmZXJlbmNlc1Jlc3BvbnNlIoIBkkFcCgpQcmVmZXJlbmNlEhREZXNjcmliZSBwcmVmZXJlbmNlcxo4UmV0dXJucyBhIGxpc3Qgb2YgYWxsIHByZWZlcmVuY2VzIHN1cHBvcnRlZCBieSBGcm9udGllci6C0+STAh0SGy92MWJldGExL3ByZWZlcmVuY2VzL3RyYWl0cxLEAwodQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBpALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZSKfApJB6QEKClByZWZlcmVuY2USH0NyZWF0ZSBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMauQFDcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzLiBUaGUgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgb3JnYW5pemF0aW9uIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3ByZWZlcmVuY2VzOgEqEqUCChtMaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXMSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlIoYBkkFUCgpQcmVmZXJlbmNlEh1MaXN0IG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcxonTGlzdCBhbiBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIpEicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vcHJlZmVyZW5jZXMSnAMKGENyZWF0ZVByb2plY3RQcmVmZXJlbmNlcxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2UihgKSQdUBCgpQcmVmZXJlbmNlEhpDcmVhdGUgcHJvamVjdCBwcmVmZXJlbmNlcxqqAUNyZWF0ZSBhIG5ldyBwcm9qZWN0IHByZWZlcmVuY2VzLiBUaGUgcHJvamVjdCBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHByb2plY3QgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwInIiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzOgEqEoUCChZMaXN0UHJvamVjdFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlInaSQUkKClByZWZlcmVuY2USGExpc3QgcHJvamVjdCBwcmVmZXJlbmNlcxohTGlzdCBhIHByb2plY3QgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIkEiIvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3ByZWZlcmVuY2VzEowDChZDcmVhdGVHcm91cFByZWZlcmVuY2VzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlIvwBkkHNAQoKUHJlZmVyZW5jZRIYQ3JlYXRlIGdyb3VwIHByZWZlcmVuY2VzGqQBQ3JlYXRlIGEgbmV3IGdyb3VwIHByZWZlcmVuY2VzLiBUaGUgZ3JvdXAgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBncm91cCBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiUiIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzOgEqEvkBChRMaXN0R3JvdXBQcmVmZXJlbmNlcxI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBQcmVmZXJlbmNlc1Jlc3BvbnNlInCSQUUKClByZWZlcmVuY2USFkxpc3QgZ3JvdXAgcHJlZmVyZW5jZXMaH0xpc3QgYSBncm91cCBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiISIC92MWJldGExL2dyb3Vwcy97aWR9L3ByZWZlcmVuY2VzEoQDChVDcmVhdGVVc2VyUHJlZmVyZW5jZXMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlIvcBkkHJAQoKUHJlZmVyZW5jZRIXQ3JlYXRlIHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlczoBKhLzAQoTTGlzdFVzZXJQcmVmZXJlbmNlcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJtkkFDCgpQcmVmZXJlbmNlEhVMaXN0IHVzZXIgcHJlZmVyZW5jZXMaHkxpc3QgYSB1c2VyIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMve2lkfS9wcmVmZXJlbmNlcxKhAwocQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlcxI+LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaPy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSL/AZJB0QEKClByZWZlcmVuY2USH0NyZWF0ZSBjdXJyZW50IHVzZXIgcHJlZmVyZW5jZXMaoQFDcmVhdGUgYSBuZXcgdXNlciBwcmVmZXJlbmNlcy4gVGhlIHVzZXIgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSB1c2VyIGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJCIfL3YxYmV0YTEvdXNlcnMvc2VsZi9wcmVmZXJlbmNlczoBKhKQAgoaTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXMSPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVxdWVzdBo9LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSJ1kkFLCgpQcmVmZXJlbmNlEh1MaXN0IGN1cnJlbnQgdXNlciBwcmVmZXJlbmNlcxoeTGlzdCBhIHVzZXIgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL3ByZWZlcmVuY2VzEpMCChRDcmVhdGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIokBkkFUCgdCaWxsaW5nEhZDcmVhdGUgYmlsbGluZyBhY2NvdW50GjFDcmVhdGUgYSBuZXcgYmlsbGluZyBhY2NvdW50IGZvciBhbiBvcmdhbml6YXRpb24ugtPkkwIsIicvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmc6ASoS8wEKEUdldEJpbGxpbmdBY2NvdW50EjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQWNjb3VudFJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2Uic5JBPAoHQmlsbGluZxITR2V0IGJpbGxpbmcgYWNjb3VudBocR2V0IGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0ShQIKFFVwZGF0ZUJpbGxpbmdBY2NvdW50EjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UifJJBQgoHQmlsbGluZxIWVXBkYXRlIGJpbGxpbmcgYWNjb3VudBofVXBkYXRlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCMRosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH06ASoSwQIKFlJlZ2lzdGVyQmlsbGluZ0FjY291bnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWdpc3RlckJpbGxpbmdBY2NvdW50UmVzcG9uc2UisQGSQW4KB0JpbGxpbmcSJFJlZ2lzdGVyIGJpbGxpbmcgYWNjb3VudCB0byBwcm92aWRlcho9UmVnaXN0ZXIgYSBiaWxsaW5nIGFjY291bnQgdG8gYSBwcm92aWRlciBpZiBpdCdzIG5vdCBhbHJlYWR5LoLT5JMCOiI1L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vcmVnaXN0ZXI6ASoSgwIKE0xpc3RCaWxsaW5nQWNjb3VudHMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ0FjY291bnRzUmVzcG9uc2UifZJBSwoHQmlsbGluZxIVTGlzdCBiaWxsaW5nIGFjY291bnRzGilMaXN0IGJpbGxpbmcgYWNjb3VudHMgb2YgYW4gb3JnYW5pemF0aW9uLoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nEoICChREZWxldGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlInmSQUIKB0JpbGxpbmcSFkRlbGV0ZSBiaWxsaW5nIGFjY291bnQaH0RlbGV0ZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAi4qLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9Eo0CChRFbmFibGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlIoMBkkFCCgdCaWxsaW5nEhZFbmFibGUgYmlsbGluZyBhY2NvdW50Gh9FbmFibGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9lbmFibGU6ASoS6QIKFURpc2FibGVCaWxsaW5nQWNjb3VudBI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2Ui3AGSQZkBCgdCaWxsaW5nEhdEaXNhYmxlIGJpbGxpbmcgYWNjb3VudBp1RGlzYWJsZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC4gRGlzYWJsaW5nIGEgYmlsbGluZyBhY2NvdW50IGRvZXNuJ3QgYXV0b21hdGljYWxseSBkaXNhYmxlIGl0J3MgYWN0aXZlIHN1YnNjcmlwdGlvbnMugtPkkwI5IjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9kaXNhYmxlOgEqEosCChFHZXRCaWxsaW5nQmFsYW5jZRIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQmFsYW5jZVJlc3BvbnNlIooBkkFLCgdCaWxsaW5nEhNHZXQgYmlsbGluZyBiYWxhbmNlGitHZXQgdGhlIGJhbGFuY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwI2EjQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9iYWxhbmNlEvoBCgpIYXNUcmlhbGVkEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5IYXNUcmlhbGVkUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSGFzVHJpYWxlZFJlc3BvbnNlIo4BkkE/CgdCaWxsaW5nEgtIYXMgdHJpYWxlZBonQ2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaGFzIHRyaWFsZWQugtPkkwJGEkQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfS9wbGFucy97cGxhbl9pZH0vdHJpYWxlZBLHAgoPR2V0U3Vic2NyaXB0aW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTdWJzY3JpcHRpb25SZXNwb25zZSLMAZJBOwoMU3Vic2NyaXB0aW9uEhBHZXQgc3Vic2NyaXB0aW9uGhlHZXQgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKHARJHL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH1aPBI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfRLqAgoSQ2FuY2VsU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DYW5jZWxTdWJzY3JpcHRpb25SZXNwb25zZSLmAZJBQQoMU3Vic2NyaXB0aW9uEhNDYW5jZWwgc3Vic2NyaXB0aW9uGhxDYW5jZWwgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2FuY2VsOgEqEtMCChFMaXN0U3Vic2NyaXB0aW9ucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFN1YnNjcmlwdGlvbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U3Vic2NyaXB0aW9uc1Jlc3BvbnNlItIBkkFMCgxTdWJzY3JpcHRpb24SEkxpc3Qgc3Vic2NyaXB0aW9ucxooTGlzdCBzdWJzY3JpcHRpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCfRJCL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zWjcSNS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zEvQCChJDaGFuZ2VTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoYW5nZVN1YnNjcmlwdGlvblJlc3BvbnNlIvABkkFLCgxTdWJzY3JpcHRpb24SGENoYW5nZSBzdWJzY3JpcHRpb24gcGxhbhohQ2hhbmdlIGEgc3Vic2NyaXB0aW9uIHBsYW4gYnkgSUQugtPkkwKbASJOL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqWkYiQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0vY2hhbmdlOgEqEtwCChJVcGRhdGVTdWJzY3JpcHRpb24SNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlItgBkkFBCgxTdWJzY3JpcHRpb24SE1VwZGF0ZSBzdWJzY3JpcHRpb24aHFVwZGF0ZSBhIHN1YnNjcmlwdGlvbiBieSBJRC6C0+STAo0BGkcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3N1YnNjcmlwdGlvbnMve2lkfToBKlo/IjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9OgEqEtgBCg1DcmVhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvZHVjdFJlc3BvbnNlImSSQT0KB1Byb2R1Y3QSDkNyZWF0ZSBwcm9kdWN0GiJDcmVhdGUgYSBuZXcgcHJvZHVjdCBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzOgEqEsABCgpHZXRQcm9kdWN0EiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQcm9kdWN0UmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvZHVjdFJlc3BvbnNlIlWSQSwKB1Byb2R1Y3QSC0dldCBwcm9kdWN0GhRHZXQgYSBwcm9kdWN0IGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9Es8BCgxMaXN0UHJvZHVjdHMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9kdWN0c1Jlc3BvbnNlIl6SQToKB1Byb2R1Y3QSDUxpc3QgcHJvZHVjdHMaIExpc3QgYWxsIHByb2R1Y3RzIG9mIGEgcGxhdGZvcm0ugtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL3Byb2R1Y3RzEtIBCg1VcGRhdGVQcm9kdWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9kdWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvZHVjdFJlc3BvbnNlIl6SQTIKB1Byb2R1Y3QSDlVwZGF0ZSBwcm9kdWN0GhdVcGRhdGUgYSBwcm9kdWN0IGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cy97aWR9OgEqEtgBCg1DcmVhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlRmVhdHVyZVJlc3BvbnNlImSSQT0KB0ZlYXR1cmUSDkNyZWF0ZSBmZWF0dXJlGiJDcmVhdGUgYSBuZXcgZmVhdHVyZSBmb3IgcGxhdGZvcm0ugtPkkwIeIhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzOgEqEsABCgpHZXRGZWF0dXJlEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRGZWF0dXJlUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0RmVhdHVyZVJlc3BvbnNlIlWSQSwKB0ZlYXR1cmUSC0dldCBmZWF0dXJlGhRHZXQgYSBmZWF0dXJlIGJ5IElELoLT5JMCIBIeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9EtIBCg1VcGRhdGVGZWF0dXJlEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVGZWF0dXJlUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlRmVhdHVyZVJlc3BvbnNlIl6SQTIKB0ZlYXR1cmUSDlVwZGF0ZSBmZWF0dXJlGhdVcGRhdGUgYSBmZWF0dXJlIGJ5IElELoLT5JMCIxoeL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcy97aWR9OgEqEsABCgxMaXN0RmVhdHVyZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RGZWF0dXJlc1Jlc3BvbnNlIk+SQSsKB0ZlYXR1cmUSDUxpc3QgZmVhdHVyZXMaEUxpc3QgYWxsIGZlYXR1cmVzgtPkkwIbEhkvdjFiZXRhMS9iaWxsaW5nL2ZlYXR1cmVzEsMBCgpDcmVhdGVQbGFuEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQbGFuUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUGxhblJlc3BvbnNlIliSQTQKBFBsYW4SC0NyZWF0ZSBwbGFuGh9DcmVhdGUgYSBuZXcgcGxhbiBmb3IgcGxhdGZvcm0ugtPkkwIbIhYvdjFiZXRhMS9iaWxsaW5nL3BsYW5zOgEqEqwBCglMaXN0UGxhbnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQbGFuc1Jlc3BvbnNlIkSSQSMKBFBsYW4SCkxpc3QgcGxhbnMaD0xpc3QgYWxsIHBsYW5zLoLT5JMCGBIWL3YxYmV0YTEvYmlsbGluZy9wbGFucxKrAQoHR2V0UGxhbhIpLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UGxhblJlcXVlc3QaKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBsYW5SZXNwb25zZSJJkkEjCgRQbGFuEghHZXQgcGxhbhoRR2V0IGEgcGxhbiBieSBJRC6C0+STAh0SGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfRK9AQoKVXBkYXRlUGxhbhIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUGxhblJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBsYW5SZXNwb25zZSJSkkEpCgRQbGFuEgtVcGRhdGUgcGxhbhoUVXBkYXRlIGEgcGxhbiBieSBJRC6C0+STAiAaGy92MWJldGExL2JpbGxpbmcvcGxhbnMve2lkfToBKhKFAwoOQ3JlYXRlQ2hlY2tvdXQSMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUNoZWNrb3V0UmVxdWVzdBoxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQ2hlY2tvdXRSZXNwb25zZSKNApJBiAEKCENoZWNrb3V0EiJDaGVja291dCBhIHByb2R1Y3Qgb3Igc3Vic2NyaXB0aW9uGlhDaGVja291dCBhIHByb2R1Y3QgdG8gYnV5IGl0IG9uZSB0aW1lIG9yIHN0YXJ0IGEgc3Vic2NyaXB0aW9uIHBsYW4gb24gYSBiaWxsaW5nIGFjY291bnQugtPkkwJ7Ij4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0czoBKlo2IjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzOgEqErcCCg1MaXN0Q2hlY2tvdXRzEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q2hlY2tvdXRzUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdENoZWNrb3V0c1Jlc3BvbnNlIsIBkkFECghDaGVja291dBIOTGlzdCBjaGVja291dHMaKExpc3QgYWxsIGNoZWNrb3V0cyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnUSPi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzWjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9jaGVja291dHMSpgIKC0dldENoZWNrb3V0Ei0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDaGVja291dFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldENoZWNrb3V0UmVzcG9uc2UitwGSQS8KCENoZWNrb3V0EgxHZXQgY2hlY2tvdXQaFUdldCBhIGNoZWNrb3V0IGJ5IElELoLT5JMCfxJDL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHMve2lkfVo4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzL3tpZH0S3AIKF0NoZWNrRmVhdHVyZUVudGl0bGVtZW50EjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrRmVhdHVyZUVudGl0bGVtZW50UmVzcG9uc2UiyQGSQVYKC0VudGl0bGVtZW50EhFDaGVjayBlbnRpdGxlbWVudBo0Q2hlY2sgaWYgYSBiaWxsaW5nIGFjY291bnQgaXMgZW50aXRsZWQgdG8gYSBmZWF0dXJlLoLT5JMCaiI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVjazoBKlopIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvY2hlY2s6ASoSnwIKFkNoZWNrQ3JlZGl0RW50aXRsZW1lbnQSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVzcG9uc2UijwGSQWsKC0VudGl0bGVtZW50EhhDaGVjayBjcmVkaXQgZW50aXRsZW1lbnQaQkNoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGhhcyBlbm91Z2ggY3JlZGl0cyB0byBjb3ZlciB0aGUgYW1vdW50LoLT5JMCGyIWL3YxYmV0YTEvYmlsbGluZy9jaGVjazoBKhLJAgoSQ3JlYXRlQmlsbGluZ1VzYWdlEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVCaWxsaW5nVXNhZ2VSZXNwb25zZSLFAZJBUAoFVXNhZ2USFENyZWF0ZSBiaWxsaW5nIHVzYWdlGjFSZXBvcnQgYSBuZXcgYmlsbGluZyB1c2FnZSBmb3IgYSBiaWxsaW5nIGFjY291bnQugtPkkwJsIjsvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L3VzYWdlczoBKloqIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL2JpbGxpbmcvdXNhZ2VzOgEqEuwCChdMaXN0QmlsbGluZ1RyYW5zYWN0aW9ucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1Jlc3BvbnNlItkBkkFVCgtUcmFuc2FjdGlvbhIZTGlzdCBiaWxsaW5nIHRyYW5zYWN0aW9ucxorTGlzdCBhbGwgdHJhbnNhY3Rpb25zIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCexJBL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS90cmFuc2FjdGlvbnNaNhI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3RyYW5zYWN0aW9ucxLvAgoYVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Ub3RhbERlYml0ZWRUcmFuc2FjdGlvbnNSZXNwb25zZSLZAZJBfwoLVHJhbnNhY3Rpb24SN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHMaN1N1bSBvZiBhbW91bnQgb2YgZGViaXRlZCB0cmFuc2FjdGlvbnMgaW5jbHVkaW5nIHJlZnVuZHOC0+STAlESTy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vZGViaXRlZF90cmFuc2FjdGlvbnNfdG90YWwSrwIKDExpc3RJbnZvaWNlcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEludm9pY2VzUmVzcG9uc2UivQGSQUEKB0ludm9pY2USDUxpc3QgaW52b2ljZXMaJ0xpc3QgYWxsIGludm9pY2VzIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCcxI9L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlc1oyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMS4gIKEkdldFVwY29taW5nSW52b2ljZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2Ui3gGSQU8KB0ludm9pY2USFEdldCB1cGNvbWluZyBpbnZvaWNlGi5HZXQgdGhlIHVwY29taW5nIGludm9pY2Ugb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwKFARJGL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9pbnZvaWNlcy91cGNvbWluZ1o7EjkvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvaW52b2ljZXMvdXBjb21pbmcSnAIKFkJpbGxpbmdXZWJob29rQ2FsbGJhY2sSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdXZWJob29rQ2FsbGJhY2tSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVzcG9uc2UijAGSQU4KB1dlYmhvb2sSFkFjY2VwdCBCaWxsaW5nIHdlYmhvb2saK0FjY2VwdHMgYSBCaWxsaW5nIHdlYmhvb2sgYW5kIHByb2Nlc3NlcyBpdC6C0+STAjUiLS92MWJldGExL2JpbGxpbmcvd2ViaG9va3MvY2FsbGJhY2sve3Byb3ZpZGVyfToEYm9keRKRAgoUQ3JlYXRlUHJvc3BlY3RQdWJsaWMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb3NwZWN0UHVibGljUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXNwb25zZSKHAZJBZwoIUHJvc3BlY3QSD0NyZWF0ZSBwcm9zcGVjdBpKQ3JlYXRlIHByb3NwZWN0IGZvciBnaXZlbiBlbWFpbCBhbmQgYWN0aXZpdHkuIEF2YWlsYWJsZSBmb3IgcHVibGljIGFjY2Vzcy6C0+STAhciEi92MWJldGExL3Byb3NwZWN0czoBKhKAAQoRQ3JlYXRlQXVkaXRSZWNvcmQSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUF1ZGl0UmVjb3JkUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQXVkaXRSZWNvcmRSZXNwb25zZSIAQvINCiNpby5yYXlzdGFjay5wcm90b24uZnJvbnRpZXIudjFiZXRhMUIIRnJvbnRpZXJaO2dpdGh1Yi5jb20vcmF5c3RhY2svcHJvdG9uL2Zyb250aWVyL3YxYmV0YTE7ZnJvbnRpZXJ2MWJldGExkkGCDRIeChVGcm9udGllciBHZW5lcmFsIEFQSXMyBTAuMi4wGg4xMjcuMC4wLjE6NzQwMCoBATIQYXBwbGljYXRpb24vanNvbjoQYXBwbGljYXRpb24vanNvblI8CgMyMDASNQobT0sgLSBBIHN1Y2Nlc3NmdWwgcmVzcG9uc2UuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmkKAzQwMBJiCkhCYWQgUmVxdWVzdCAtIFRoZSByZXF1ZXN0IHdhcyBtYWxmb3JtZWQgb3IgY29udGFpbmVkIGludmFsaWQgcGFyYW1ldGVycy4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSSgoDNDAxEkMKKVVuYXV0aG9yaXplZCAtIEF1dGhlbnRpY2F0aW9uIGlzIHJlcXVpcmVkEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUmEKAzQwMxJaCkBGb3JiaWRkZW4gLSBVc2VyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIHJlc291cmNlEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUlEKAzQwNBJKCjBOb3QgRm91bmQgLSBUaGUgcmVxdWVzdGVkIHJlc291cmNlIHdhcyBub3QgZm91bmQSFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNSdQoDNTAwEm4KVEludGVybmFsIFNlcnZlciBFcnJvci4gUmV0dXJuZWQgd2hlbiB0aGVyZXMgaXMgc29tZXRoaW5nIHdyb25nIHdpdGggRnJvbnRpZXIgc2VydmVyLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1q2AQpECgVCYXNpYxI7CAESH0NsaWVudCBJRC9TZWNyZXQgYXV0aGVudGljYXRpb24aFEJhc2ljIEF1dGhlbnRpY2F0aW9uIAIKbgoGQmVhcmVyEmQIAhJPVGhlIEF1dGhvcml6YXRpb24gaGVhZGVyIG11c3QgYmUgc2V0IHRvIEJlYXJlciBmb2xsb3dlZCBieSBhIHNwYWNlIGFuZCBhIHRva2VuLhoNQXV0aG9yaXphdGlvbiACYhMKBwoFQmFzaWMKCAoGQmVhcmVyagYKBFVzZXJqggMKBUdyb3VwEvgCR3JvdXBzIGluIEZyb250aWVyIGFyZSB1c2VkIHRvIG1hbmFnZSB1c2VycyBhbmQgdGhlaXIgYWNjZXNzIHRvIHJlc291cmNlcy4gRWFjaCBncm91cCBoYXMgYSB1bmlxdWUgbmFtZSBhbmQgaWQgdGhhdCBjYW4gYmUgdXNlZCB0byBncmFudCBhY2Nlc3MgdG8gcmVzb3VyY2VzLiBXaGVuIGEgdXNlciBpcyBhZGRlZCB0byBhIGdyb3VwLCB0aGV5IGluaGVyaXQgdGhlIGFjY2VzcyBwZXJtaXNzaW9ucyB0aGF0IGhhdmUgYmVlbiBncmFudGVkIHRvIHRoZSBncm91cC4gVGhpcyBhbGxvd3MgeW91IHRvIG1hbmFnZSBhY2Nlc3MgdG8gcmVzb3VyY2VzIGF0IHNjYWxlLCB3aXRob3V0IGhhdmluZyB0byBncmFudCBwZXJtaXNzaW9ucyB0byBpbmRpdmlkdWFsIHVzZXJzLmoGCgRSb2xlag4KDE9yZ2FuaXphdGlvbmoJCgdQcm9qZWN0aggKBlBvbGljeWoKCghSZWxhdGlvbmoMCgpQZXJtaXNzaW9uagsKCU5hbWVzcGFjZWoKCghSZXNvdXJjZWobCgVBdXRoehISQXV0aG9yaXphdGlvbiBBUElzahwKBUF1dGhuEhNBdXRoZW50aWNhdGlvbiBBUElzapACCgpNZXRhU2NoZW1hEoECTWFuYWdlIE1ldGFkYXRhIFNjaGVtYXMgd2hpY2ggYXJlIHVzZWQgdG8gdmFsaWRhdGUgbWV0YWRhdGEgb2JqZWN0IHdoaWxlIGNyZWF0aW5nIHVzZXIvb3JnL2dyb3VwL3JvbGUuIEZyb250aWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGRlZmF1bHQgbWV0YXNjaGVtYXMgd2l0aCBgbGFiZWxgIGFuZCBgZGVzY3JpcHRpb25gIGZpZWxkcy4gWW91IGNhbiBhbHNvIHVwZGF0ZSB0aGVzZSBtZXRhc2NoZW1hcyB0byBhZGQvZWRpdCBtb3JlIGZpZWxkcy5iBnByb3RvMw", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
|
|
17
|
+
fileDesc("CihyYXlzdGFjay9mcm9udGllci92MWJldGExL2Zyb250aWVyLnByb3RvEhlyYXlzdGFjay5mcm9udGllci52MWJldGExIokCChlCaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFZW1haWwYAiABKAkSDQoFcGhvbmUYAyABKAkSQgoHYWRkcmVzcxgEIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQWRkcmVzcxIQCghjdXJyZW5jeRgFIAEoCRI/Cgh0YXhfZGF0YRgGIAMoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuVGF4EikKCG1ldGFkYXRhGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKVAQobQ3JlYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARJMCgRib2R5GAIgASgLMjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudFJlcXVlc3RCb2R5Qgj6QgWKAQIQARIPCgdvZmZsaW5lGAMgASgIImIKHENyZWF0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudCKUAQoYR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQARIcChR3aXRoX3BheW1lbnRfbWV0aG9kcxgDIAEoCBIcChR3aXRoX2JpbGxpbmdfZGV0YWlscxgEIAEoCBIOCgZleHBhbmQYZSADKAki7QEKGUdldEJpbGxpbmdBY2NvdW50UmVzcG9uc2USQgoPYmlsbGluZ19hY2NvdW50GAEgASgLMikucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudBJBCg9wYXltZW50X21ldGhvZHMYAiADKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBheW1lbnRNZXRob2QSSQoPYmlsbGluZ19kZXRhaWxzGAMgASgLMjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudERldGFpbHMikAEKG1VwZGF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABEkIKBGJvZHkYAyABKAsyNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50UmVxdWVzdEJvZHkiYgocVXBkYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZRJCCg9iaWxsaW5nX2FjY291bnQYASABKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50Ik4KHVJlZ2lzdGVyQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiIAoeUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIkUKGkxpc3RCaWxsaW5nQWNjb3VudHNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiYgobTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlEkMKEGJpbGxpbmdfYWNjb3VudHMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJpbGxpbmdBY2NvdW50IkwKG0RlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBIUCgJpZBgBIAEoCUII+kIFcgOwAQESFwoGb3JnX2lkGAIgASgJQgf6QgRyAhABIh4KHERlbGV0ZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiTAobRW5hYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHgocRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSJNChxEaXNhYmxlQmlsbGluZ0FjY291bnRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiHwodRGlzYWJsZUJpbGxpbmdBY2NvdW50UmVzcG9uc2UiSQoYR2V0QmlsbGluZ0JhbGFuY2VSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAEiXwoZR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZRJCCgdiYWxhbmNlGAEgASgLMjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nQWNjb3VudC5CYWxhbmNlIlwKEUhhc1RyaWFsZWRSZXF1ZXN0EhQKAmlkGAEgASgJQgj6QgVyA7ABARIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAESGAoHcGxhbl9pZBgDIAEoCUIH+kIEcgIQASIlChJIYXNUcmlhbGVkUmVzcG9uc2USDwoHdHJpYWxlZBgBIAEoCCKSAQoZQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEgoKcHJvamVjdF9pZBgEIAEoCRIwCgZ1c2FnZXMYAyADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzYWdlIhwKGkNyZWF0ZUJpbGxpbmdVc2FnZVJlc3BvbnNlIvkBCh5MaXN0QmlsbGluZ1RyYW5zYWN0aW9uc1JlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEi0KBXNpbmNlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESLwoLc3RhcnRfcmFuZ2UYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi0KCWVuZF9yYW5nZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGZXhwYW5kGGUgAygJImYKH0xpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVzcG9uc2USQwoMdHJhbnNhY3Rpb25zGAEgAygLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nVHJhbnNhY3Rpb24iWAofVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHAoKYmlsbGluZ19pZBgCIAEoCUII+kIFcgOwAQEiZgogVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2USQgoHZGViaXRlZBgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ0FjY291bnQuQmFsYW5jZSJ3ChZHZXRTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIOCgZleHBhbmQYZSADKAkiWAoXR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2USPQoMc3Vic2NyaXB0aW9uGAEgASgLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24igQEKGExpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESDQoFc3RhdGUYAyABKAkSDAoEcGxhbhgEIAEoCRIOCgZleHBhbmQYZSADKAkiWwoZTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZRI+Cg1zdWJzY3JpcHRpb25zGAEgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TdWJzY3JpcHRpb24ilQEKGVVwZGF0ZVN1YnNjcmlwdGlvblJlcXVlc3QSFwoGb3JnX2lkGAEgASgJQgf6QgRyAhADEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhMKAmlkGAMgASgJQgf6QgRyAhABEikKCG1ldGFkYXRhGBQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJbChpVcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZRI9CgxzdWJzY3JpcHRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbiKuAwoZQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoCaWQYAyABKAlCB/pCBHICEAESEAoEcGxhbhgEIAEoCUICGAESFQoJaW1tZWRpYXRlGAUgASgIQgIYARJWCgtwbGFuX2NoYW5nZRgGIAEoCzI/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hhbmdlU3Vic2NyaXB0aW9uUmVxdWVzdC5QbGFuQ2hhbmdlSAASWAoMcGhhc2VfY2hhbmdlGAcgASgLMkAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0LlBoYXNlQ2hhbmdlSAAaLQoKUGxhbkNoYW5nZRIMCgRwbGFuGAEgASgJEhEKCWltbWVkaWF0ZRgCIAEoCBouCgtQaGFzZUNoYW5nZRIfChdjYW5jZWxfdXBjb21pbmdfY2hhbmdlcxgBIAEoCEIICgZjaGFuZ2UiWgoaQ2hhbmdlU3Vic2NyaXB0aW9uUmVzcG9uc2USPAoFcGhhc2UYASABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlN1YnNjcmlwdGlvbi5QaGFzZSJ9ChlDYW5jZWxTdWJzY3JpcHRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQARIRCglpbW1lZGlhdGUYBCABKAgiHAoaQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2UiEgoQTGlzdFBsYW5zUmVxdWVzdCJDChFMaXN0UGxhbnNSZXNwb25zZRIuCgVwbGFucxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJ/Ch5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlcXVlc3QSDgoGb3JnX2lkGAEgASgJEh8KCmJpbGxpbmdfaWQYAiABKAlCC/pCCHIGsAEB0AEBEhIKCnByb2plY3RfaWQYBCABKAkSGAoHZmVhdHVyZRgDIAEoCUIH+kIEcgIQASIxCh9DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCCJRCh1DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSFwoGYW1vdW50GAIgASgDQgf6QgQiAiAAIjAKHkNoZWNrQ3JlZGl0RW50aXRsZW1lbnRSZXNwb25zZRIOCgZzdGF0dXMYASABKAgi0gIKFUNyZWF0ZUNoZWNrb3V0UmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESEwoLc3VjY2Vzc191cmwYAyABKAkSEgoKY2FuY2VsX3VybBgEIAEoCRJOChFzdWJzY3JpcHRpb25fYm9keRgKIAEoCzIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRTdWJzY3JpcHRpb25Cb2R5EkQKDHByb2R1Y3RfYm9keRgLIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tvdXRQcm9kdWN0Qm9keRJACgpzZXR1cF9ib2R5GAwgASgLMiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNldHVwQm9keSJeChZDcmVhdGVDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiJQChRMaXN0Q2hlY2tvdXRzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiXgoVTGlzdENoZWNrb3V0c1Jlc3BvbnNlEkUKEWNoZWNrb3V0X3Nlc3Npb25zGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja291dFNlc3Npb24iYwoSR2V0Q2hlY2tvdXRSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxIfCgpiaWxsaW5nX2lkGAIgASgJQgv6QghyBrABAdABARITCgJpZBgDIAEoCUIH+kIEcgIQASJbChNHZXRDaGVja291dFJlc3BvbnNlEkQKEGNoZWNrb3V0X3Nlc3Npb24YASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNoZWNrb3V0U2Vzc2lvbiL7AgoSUHJvZHVjdFJlcXVlc3RCb2R5EhUKBG5hbWUYASABKAlCB/pCBHICEAMSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHcGxhbl9pZBgEIAEoCRIwCgZwcmljZXMYBSADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByaWNlEjQKCGJlaGF2aW9yGAggASgJQiL6Qh9yHVIFYmFzaWNSB2NyZWRpdHNSCHBlcl9zZWF00AEBEjQKCGZlYXR1cmVzGAkgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlEkoKD2JlaGF2aW9yX2NvbmZpZxgKIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdC5CZWhhdmlvckNvbmZpZxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgHEAgiXQoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIoChFHZXRQcm9kdWN0UmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCIVChNMaXN0UHJvZHVjdHNSZXF1ZXN0IkwKFExpc3RQcm9kdWN0c1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9kdWN0ImgKFFVwZGF0ZVByb2R1Y3RSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhABEjsKBGJvZHkYAiABKAsyLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3RSZXF1ZXN0Qm9keSJMChVVcGRhdGVQcm9kdWN0UmVzcG9uc2USMwoHcHJvZHVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvZHVjdCJ6ChJGZWF0dXJlUmVxdWVzdEJvZHkSFQoEbmFtZRgBIAEoCUIH+kIEcgIQAxINCgV0aXRsZRgCIAEoCRITCgtwcm9kdWN0X2lkcxgDIAMoCRIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiXQoUQ3JlYXRlRmVhdHVyZVJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSIoChFHZXRGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJJChJHZXRGZWF0dXJlUmVzcG9uc2USMwoHZmVhdHVyZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSJoChRVcGRhdGVGZWF0dXJlUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI7CgRib2R5GAIgASgLMi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5GZWF0dXJlUmVxdWVzdEJvZHkiTAoVVXBkYXRlRmVhdHVyZVJlc3BvbnNlEjMKB2ZlYXR1cmUYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkZlYXR1cmUiFQoTTGlzdEZlYXR1cmVzUmVxdWVzdCJMChRMaXN0RmVhdHVyZXNSZXNwb25zZRI0CghmZWF0dXJlcxgBIAMoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRmVhdHVyZSKDAgoPUGxhblJlcXVlc3RCb2R5EgwKBG5hbWUYASABKAkSDQoFdGl0bGUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSNAoIcHJvZHVjdHMYBCADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2R1Y3QSLwoIaW50ZXJ2YWwYBSABKAlCHfpCGnIYUgNkYXlSBHdlZWtSBW1vbnRoUgR5ZWFyEhgKEG9uX3N0YXJ0X2NyZWRpdHMYBiABKAMSEgoKdHJpYWxfZGF5cxgHIAEoAxIpCghtZXRhZGF0YRgUIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVwoRQ3JlYXRlUGxhblJlcXVlc3QSQgoEYm9keRgBIAEoCzIqLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJDChJDcmVhdGVQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiIlCg5HZXRQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQASJACg9HZXRQbGFuUmVzcG9uc2USLQoEcGxhbhgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGxhbiJiChFVcGRhdGVQbGFuUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQARI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QbGFuUmVxdWVzdEJvZHkiQwoSVXBkYXRlUGxhblJlc3BvbnNlEi0KBHBsYW4YASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBsYW4ifAoTTGlzdEludm9pY2VzUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQESGwoTbm9uemVyb19hbW91bnRfb25seRgDIAEoCBIOCgZleHBhbmQYZSADKAkiTAoUTGlzdEludm9pY2VzUmVzcG9uc2USNAoIaW52b2ljZXMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludm9pY2UiVQoZR2V0VXBjb21pbmdJbnZvaWNlUmVxdWVzdBIXCgZvcmdfaWQYASABKAlCB/pCBHICEAMSHwoKYmlsbGluZ19pZBgCIAEoCUIL+kIIcgawAQHQAQEiUQoaR2V0VXBjb21pbmdJbnZvaWNlUmVzcG9uc2USMwoHaW52b2ljZRgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52b2ljZSIQCg5HZXRKV0tzUmVxdWVzdCJGCg9HZXRKV0tzUmVzcG9uc2USMwoEa2V5cxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSlNPTldlYktleSITChFBdXRoTG9nb3V0UmVxdWVzdCIUChJBdXRoTG9nb3V0UmVzcG9uc2UieQoTQXV0aENhbGxiYWNrUmVxdWVzdBIVCg1zdHJhdGVneV9uYW1lGAEgASgJEg0KBXN0YXRlGAIgASgJEgwKBGNvZGUYAyABKAkSLgoNc3RhdGVfb3B0aW9ucxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiFgoUQXV0aENhbGxiYWNrUmVzcG9uc2Ui3gUKE0F1dGhlbnRpY2F0ZVJlcXVlc3QSZAoNc3RyYXRlZ3lfbmFtZRgBIAEoCUJNkkFKMkhOYW1lIG9mIHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOiogYGdvb2dsZWASagoQcmVkaXJlY3Rfb25zdGFydBgCIAEoCEJQkkFNMktJZiBzZXQgdG8gdHJ1ZSwgbG9jYXRpb24gaGVhZGVyIHdpbGwgYmUgc2V0IGZvciByZWRpcmVjdCB0byBzdGFydCBhdXRoIGZsb3cSeAoJcmV0dXJuX3RvGAMgASgJQmWSQWIyYFVSTCB0byByZWRpcmVjdCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uLjxici8+ICpFeGFtcGxlOipgImh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20iYBJuCgVlbWFpbBgEIAEoCUJfkkFcMlpFbWFpbCBvZiB0aGUgdXNlciB0byBhdXRoZW50aWNhdGUuIFVzZWQgZm9yIG1hZ2ljIGxpbmtzLjxici8+ICpFeGFtcGxlOipgZXhhbXBsZUBhY21lLm9yZ2ASigIKDGNhbGxiYWNrX3VybBgFIAEoCULzAZJB7wEy7AFIb3N0IHdoaWNoIHNob3VsZCBoYW5kbGUgdGhlIGNhbGwgdG8gZmluaXNoIGF1dGhlbnRpY2F0aW9uIGZsb3csIGZvciBtb3N0IGNhc2VzIGl0IGNvdWxkIGJlIGhvc3Qgb2YgZnJvbnRpZXIgYnV0IGluIGNhc2Ugb2YgcHJveGllcywgdGhpcyB3aWxsIGJlIHByb3h5IHB1YmxpYyBlbmRwb2ludC48YnIvPiAqRXhhbXBsZToqYGh0dHBzOi8vZnJvbnRpZXIuZXhhbXBsZS5jb20vdjFiZXRhMS9hdXRoL2NhbGxiYWNrYCJnChRBdXRoZW50aWNhdGVSZXNwb25zZRIQCghlbmRwb2ludBgBIAEoCRINCgVzdGF0ZRgCIAEoCRIuCg1zdGF0ZV9vcHRpb25zGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJFCgxBdXRoU3RyYXRlZ3kSDAoEbmFtZRgBIAEoCRInCgZwYXJhbXMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IhsKGUxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QiWQoaTGlzdEF1dGhTdHJhdGVnaWVzUmVzcG9uc2USOwoKc3RyYXRlZ2llcxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aFN0cmF0ZWd5ImMKEEF1dGhUb2tlblJlcXVlc3QSEgoKZ3JhbnRfdHlwZRgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSFQoNY2xpZW50X3NlY3JldBgDIAEoCRIRCglhc3NlcnRpb24YBCABKAkiPQoRQXV0aFRva2VuUmVzcG9uc2USFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnRva2VuX3R5cGUYAiABKAki8wsKD1VzZXJSZXF1ZXN0Qm9keRLGAgoEbmFtZRgBIAEoCUK3ApJBjAIyiQJUaGUgbmFtZSBvZiB0aGUgdXNlci4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYW5kIG11c3Qgc3RhcnQgd2l0aCBhIGxldHRlci4gSWYgbm90IHByb3ZpZGVkLCBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBhIG5hbWUgZnJvbSB0aGUgdXNlciBlbWFpbC4g+kIkciIyIF4oW2EtekEtWl1bYS16QS1aMC05LV9dezMsNjR9KT8kEpwBCgVlbWFpbBgCIAEoCUKMAZJBfjJ8VGhlIGVtYWlsIG9mIHRoZSB1c2VyLiBUaGUgZW1haWwgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuPGJyLz4qRXhhbXBsZToqYCJqb2huLmRvZUByYXlzdGFjay5vcmciYOJBAQL6QgRyAmABEtgDCghtZXRhZGF0YRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCrAOSQagDMqUDTWV0YWRhdGEgb2JqZWN0IGZvciB1c2VycyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBwcmUtZGVmaW5lZCBpbiBVc2VyIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VyIHN1Y2ggYXMgbGFiZWwsIGRlc2NyaXB0aW9uIGV0Yy4gQnkgZGVmYXVsdCB0aGUgdXNlciBtZXRhc2NoZW1hIGNvbnRhaW5zIGxhYmVscyBhbmQgZGVzY3JpcHRpb25zIGZvciB0aGUgdXNlci4gVXBkYXRlIHRoZSBzYW1lIHRvIGFkZCBtb3JlIGZpZWxkcyB0byB0aGUgdXNlciBtZXRhZGF0YSBvYmplY3QuIDxici8+KkV4YW1wbGU6KmB7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9YBKpAQoFdGl0bGUYBCABKAlCmQGSQZUBMpIBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSB1c2VyLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LiA8YnIvPipFeGFtcGxlOipgIkpvaG4gRG9lImAS8AIKBmF2YXRhchgFIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLHAwoQTGlzdFVzZXJzUmVxdWVzdBJlCglwYWdlX3NpemUYASABKAVCUpJBRjJEVGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXJzIHRvIHJldHVybiBwZXIgcGFnZS4gVGhlIGRlZmF1bHQgaXMgMTAwMC76QgYaBCgBQAESTAoIcGFnZV9udW0YAiABKAVCOpJBLjIsVGhlIHBhZ2UgbnVtYmVyIHRvIHJldHVybi4gVGhlIGRlZmF1bHQgaXMgMS76QgYaBCgBQAESQQoHa2V5d29yZBgDIAEoCUIwkkEtMitUaGUga2V5d29yZCB0byBzZWFyY2ggZm9yIGluIG5hbWUgb3IgZW1haWwuEjwKBm9yZ19pZBgEIAEoCUIskkEpMidUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciB1c2VycyBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4SSgoFc3RhdGUYBiABKAlCO5JBODI2VGhlIHN0YXRlIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIGVuYWJsZWQgb3IgZGlzYWJsZWQuIlIKEUxpc3RVc2Vyc1Jlc3BvbnNlEg0KBWNvdW50GAEgASgFEi4KBXVzZXJzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIlcKEUNyZWF0ZVVzZXJSZXF1ZXN0EkIKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keUII+kIFigECEAEiQwoSQ3JlYXRlVXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiOwoeTGlzdE9yZ2FuaXphdGlvbnNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJEg0KBXN0YXRlGAIgASgJIqcBCh9MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbhJEChNqb2luYWJsZV92aWFfZG9tYWluGAIgAygLMicucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb24iNgolTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBINCgVzdGF0ZRgBIAEoCSKuAQomTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uEkQKE2pvaW5hYmxlX3ZpYV9kb21haW4YAiADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiInChlMaXN0UHJvamVjdHNCeVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIlIKGkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0IrMCCiBMaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIVCg1ub25faW5oZXJpdGVkGAMgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAQgASgIEmUKCXBhZ2Vfc2l6ZRgFIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgGIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASL+AQohTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlEjQKCHByb2plY3RzGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0El0KDGFjY2Vzc19wYWlycxgCIAMoCzJHLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RzQnlDdXJyZW50VXNlclJlc3BvbnNlLkFjY2Vzc1BhaXISDQoFY291bnQYAyABKAUaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIh8KEUVuYWJsZVVzZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhQKEkVuYWJsZVVzZXJSZXNwb25zZSIgChJEaXNhYmxlVXNlclJlcXVlc3QSCgoCaWQYASABKAkiFQoTRGlzYWJsZVVzZXJSZXNwb25zZSIfChFEZWxldGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCSIUChJEZWxldGVVc2VyUmVzcG9uc2UiQAoPR2V0VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXIiFwoVR2V0Q3VycmVudFVzZXJSZXF1ZXN0IoQBChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEi0KBHVzZXIYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXISOwoLc2VydmljZXVzZXIYAiABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyIkMKElVwZGF0ZVVzZXJSZXNwb25zZRItCgR1c2VyGAEgASgLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIkoKGVVwZGF0ZUN1cnJlbnRVc2VyUmVzcG9uc2USLQoEdXNlchgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlciJZChFVcGRhdGVVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRI4CgRib2R5GAIgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyUmVxdWVzdEJvZHkiHAoOR2V0VXNlclJlcXVlc3QSCgoCaWQYASABKAkiYwocTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVxdWVzdBIOCgZvcmdfaWQYASABKAkSGAoQd2l0aF9wZXJtaXNzaW9ucxgCIAMoCRIZChF3aXRoX21lbWJlcl9jb3VudBgDIAEoCCLhAQodTGlzdEN1cnJlbnRVc2VyR3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJZCgxhY2Nlc3NfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckdyb3Vwc1Jlc3BvbnNlLkFjY2Vzc1BhaXIaMwoKQWNjZXNzUGFpchIQCghncm91cF9pZBgBIAEoCRITCgtwZXJtaXNzaW9ucxgCIAMoCSLYAQoVTGlzdFVzZXJHcm91cHNSZXF1ZXN0Ej0KAmlkGAEgASgJQjGSQS4yLFRoZSB1bmlxdWUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IGdyb3VwcyBmb3IuEnoKBm9yZ19pZBgDIAEoCUJqkkFnMmVUaGUgb3JnYW5pemF0aW9uIElEIHRvIGZpbHRlciBncm91cHMgYnkuIElmIG5vdCBwcm92aWRlZCwgZ3JvdXBzIGZyb20gYWxsIG9yZ2FuaXphdGlvbnMgYXJlIHJldHVybmVkLkoECAIQAyJKChZMaXN0VXNlckdyb3Vwc1Jlc3BvbnNlEjAKBmdyb3VwcxgBIAMoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiVAoYVXBkYXRlQ3VycmVudFVzZXJSZXF1ZXN0EjgKBGJvZHkYASABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVzZXJSZXF1ZXN0Qm9keSJaChpMaXN0VXNlckludml0YXRpb25zUmVxdWVzdBI8CgJpZBgBIAEoCUIwkkEtMitUaGUgdXNlciBlbWFpbCB0byBsaXN0IHRoZSBpbnZpdGF0aW9ucyBmb3IuIlkKG0xpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZRI6CgtpbnZpdGF0aW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiIjCiFMaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QilwEKIkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2USOgoLaW52aXRhdGlvbnMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkludml0YXRpb24SNQoEb3JncxgCIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIrYBChdMaXN0U2VydmljZVVzZXJzUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBMTIvVGhlIG9yZ2FuaXphdGlvbiBJRCB0byBmaWx0ZXIgc2VydmljZSB1c2VycyBieS7iQQEC+kIEcgIQAxJKCgVzdGF0ZRgCIAEoCUI7kkE4MjZUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgZW5hYmxlZCBvciBkaXNhYmxlZC4iWAoYTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIikQEKFlNlcnZpY2VVc2VyUmVxdWVzdEJvZHkSTAoFdGl0bGUYASABKAlCPZJBOjInVXNlciBmcmllbmRseSBuYW1lIG9mIHRoZSBzZXJ2aWNlIHVzZXIuSg8iT3JkZXIgU2VydmljZSISKQoIbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IrYBChhDcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QSPwoEYm9keRgBIAEoCzIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXJSZXF1ZXN0Qm9keRJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiWAoZQ3JlYXRlU2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIirgEKFUdldFNlcnZpY2VVc2VyUmVxdWVzdBI6CgJpZBgBIAEoCUIukkErMilUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0LhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQoWR2V0U2VydmljZVVzZXJSZXNwb25zZRI7CgtzZXJ2aWNldXNlchgBIAEoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIitAEKGERlbGV0ZVNlcnZpY2VVc2VyUmVxdWVzdBI9CgJpZBgBIAEoCUIxkkEuMixUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiGwoZRGVsZXRlU2VydmljZVVzZXJSZXNwb25zZSLQAQobQ3JlYXRlU2VydmljZVVzZXJKV0tSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBjcmVhdGUgYSBrZXkgZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVQocQ3JlYXRlU2VydmljZVVzZXJKV0tSZXNwb25zZRI1CgNrZXkYASABKAsyKC5yYXlzdGFjay5mcm9udGllci52MWJldGExLktleUNyZWRlbnRpYWwi8gEKGEdldFNlcnZpY2VVc2VySldLUmVxdWVzdBJECgJpZBgBIAEoCUI4kkE1MjNUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gZ2V0IGEga2V5IGZvci4SNQoGa2V5X2lkGAIgASgJQiWSQSIyIFRoZSB1bmlxdWUgSUQgb2YgdGhlIGtleSB0byBnZXQuElkKBm9yZ19pZBgDIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJQChlHZXRTZXJ2aWNlVXNlckpXS1Jlc3BvbnNlEjMKBGtleXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpTT05XZWJLZXkivQEKGkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0EkQKAmlkGAEgASgJQjiSQTUyM1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IGtleXMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiVgobTGlzdFNlcnZpY2VVc2VySldLc1Jlc3BvbnNlEjcKBGtleXMYASADKAsyKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VySldLIvsBChtEZWxldGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QSRwoCaWQYASABKAlCO5JBODI2VGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VydmljZSB1c2VyIHRvIGRlbGV0ZSBhIGtleSBmb3IuEjgKBmtleV9pZBgCIAEoCUIokkElMiNUaGUgdW5pcXVlIElEIG9mIHRoZSBrZXkgdG8gZGVsZXRlLhJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiHgocRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSLXAQoiQ3JlYXRlU2VydmljZVVzZXJDcmVkZW50aWFsUmVxdWVzdBJHCgJpZBgBIAEoCUI7kkE4MjZUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gY3JlYXRlIGEga2V5IGZvci4SDQoFdGl0bGUYAiABKAkSWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADImIKI0NyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlEjsKBnNlY3JldBgBIAEoCzIrLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VjcmV0Q3JlZGVudGlhbCLHAQohTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0EkcKAmlkGAEgASgJQjuSQTgyNlRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHNlY3JldHMgZm9yLhJZCgZvcmdfaWQYAiABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiYgoiTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXNwb25zZRI8CgdzZWNyZXRzGAEgAygLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZWNyZXRDcmVkZW50aWFsIosCCiJEZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0EkoKAmlkGAEgASgJQj6SQTsyOVRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUgYSBzZWNyZXQgZm9yLhI+CglzZWNyZXRfaWQYAiABKAlCK5JBKDImVGhlIHVuaXF1ZSBJRCBvZiB0aGUgc2VjcmV0IHRvIGRlbGV0ZS4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIiUKI0RlbGV0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlItQBCh1DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBJJCgJpZBgBIAEoCUI9kkE6MjhUaGUgdW5pcXVlIElEIG9mIHRoZSBzZXJ2aWNlIHVzZXIgdG8gY3JlYXRlIGEgdG9rZW4gZm9yLhINCgV0aXRsZRgCIAEoCRJZCgZvcmdfaWQYAyABKAlCSZJBOzI5VGhlIG9yZ2FuaXphdGlvbiBJRCB0byB3aGljaCB0aGUgc2VydmljZSB1c2VyIGJlbG9uZ3MgdG8u4kEBAvpCBHICEAMiXAoeQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlEjoKBXRva2VuGAEgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXJ2aWNlVXNlclRva2VuIsEBChxMaXN0U2VydmljZVVzZXJUb2tlbnNSZXF1ZXN0EkYKAmlkGAEgASgJQjqSQTcyNVRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHRva2VucyBmb3IuElkKBm9yZ19pZBgCIAEoCUJJkkE7MjlUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBzZXJ2aWNlIHVzZXIgYmVsb25ncyB0by7iQQEC+kIEcgIQAyJcCh1MaXN0U2VydmljZVVzZXJUb2tlbnNSZXNwb25zZRI7CgZ0b2tlbnMYASADKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyVG9rZW4igwIKHURlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXF1ZXN0EkkKAmlkGAEgASgJQj2SQToyOFRoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBkZWxldGUgYSB0b2tlbiBmb3IuEjwKCHRva2VuX2lkGAIgASgJQiqSQScyJVRoZSB1bmlxdWUgSUQgb2YgdGhlIHRva2VuIHRvIGRlbGV0ZS4SWQoGb3JnX2lkGAMgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADIiAKHkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSLfAQoeTGlzdFNlcnZpY2VVc2VyUHJvamVjdHNSZXF1ZXN0EkgKAmlkGAEgASgJQjySQTkyN1RoZSB1bmlxdWUgSUQgb2YgdGhlIHNlcnZpY2UgdXNlciB0byBsaXN0IHByb2plY3RzIGZvci4SWQoGb3JnX2lkGAIgASgJQkmSQTsyOVRoZSBvcmdhbml6YXRpb24gSUQgdG8gd2hpY2ggdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvLuJBAQL6QgRyAhADEhgKEHdpdGhfcGVybWlzc2lvbnMYAyADKAki6wEKH0xpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2USNAoIcHJvamVjdHMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QSWwoMYWNjZXNzX3BhaXJzGAIgAygLMkUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1Jlc3BvbnNlLkFjY2Vzc1BhaXIaNQoKQWNjZXNzUGFpchISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3Blcm1pc3Npb25zGAIgAygJIu0BCh1MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBIpCgZvcmdfaWQYAiABKAlCGfpCFnIUEAMyEF5bQS1aYS16MC05Xy1dKyQSVwoFc3RhdGUYAyABKAlCSJJBRTJDVGhlIHN0YXRlIG9mIHRoZSBncm91cCB0byBmaWx0ZXIgYnkuIEl0IGNhbiBiZSBlbmFibGVkIG9yIGRpc2FibGVkLhIRCglncm91cF9pZHMYBCADKAkSFAoMd2l0aF9tZW1iZXJzGAUgASgIEhkKEXdpdGhfbWVtYmVyX2NvdW50GAYgASgISgQIARACIlIKHkxpc3RPcmdhbml6YXRpb25Hcm91cHNSZXNwb25zZRIwCgZncm91cHMYASADKAsyIC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwIq8BCh1DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBJCCgRib2R5GAEgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlUmVxdWVzdEJvZHlCCPpCBYoBAhABEkoKBm9yZ19pZBgCIAEoCUI6kkEzMjFUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSByb2xlIGJlbG9uZ3MgdG8u4kEBAiJPCh5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJBChpHZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiTAobR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlEi0KBHJvbGUYASABKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUidQodVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSCgoCaWQYASABKAkSDgoGb3JnX2lkGAMgASgJEjgKBGJvZHkYAiABKAsyKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGVSZXF1ZXN0Qm9keSJPCh5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2USLQoEcm9sZRgBIAEoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSIxChBMaXN0Um9sZXNSZXF1ZXN0Eg0KBXN0YXRlGAEgASgJEg4KBnNjb3BlcxgCIAMoCSJDChFMaXN0Um9sZXNSZXNwb25zZRIuCgVyb2xlcxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJWChxMaXN0T3JnYW5pemF0aW9uUm9sZXNSZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAxINCgVzdGF0ZRgCIAEoCRIOCgZzY29wZXMYAyADKAkiTwodTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2USLgoFcm9sZXMYASADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiRAodRGVsZXRlT3JnYW5pemF0aW9uUm9sZVJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIiAKHkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXNwb25zZSKrCgoXT3JnYW5pemF0aW9uUmVxdWVzdEJvZHkS+wEKBG5hbWUYASABKAlC7AGSQc0BMsoBVGhlIG5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbi4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuPGJyLz4qRXhhbXBsZToqYCJmcm9udGllci1vcmcxLWFjbWUiYOJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKyAQoFdGl0bGUYAiABKAlCogGSQZ4BMpsBVGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBvcmdhbml6YXRpb24uIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuPGJyLz4gKkV4YW1wbGUqOiBgIkFjbWUgSW5jImAS6QMKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEK9A5JBuQMytgNNZXRhZGF0YSBvYmplY3QgZm9yIG9yZ2FuaXphdGlvbnMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBPcmdhbml6YXRpb24gTWV0YXNjaGVtYS4gVGhlIG1ldGFkYXRhIG9iamVjdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcmJpdHJhcnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yZ2FuaXphdGlvbiBzdWNoIGFzIGxhYmVscywgZGVzY3JpcHRpb25zIGV0Yy4gVGhlIGRlZmF1bHQgT3JnYW5pemF0aW9uIE1ldGFzY2hlbWEgY29udGFpbnMgbGFiZWxzIGFuZCBkZXNjcmlwdG9uIGZpZWxkcy4gVXBkYXRlIHRoZSBPcmdhbml6YXRpb24gTWV0YXNjaGVtYSB0byBhZGQgbW9yZSBmaWVsZHMuIDxici8+KkV4YW1wbGUqOmB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJPcmdhbml6YXRpb24gZGVzY3JpcHRpb24ifWAS8AIKBmF2YXRhchgEIAEoCULfApJBjwIy0wFUaGUgYXZhdGFyIGlzIGJhc2U2NCBlbmNvZGVkIGltYWdlIGRhdGEgb2YgdGhlIHVzZXIuIENhbiBhbHNvIGJlIGxlZnQgZW1wdHkuIFRoZSBpbWFnZSBzaG91bGQgYmUgbGVzcyB0aGFuIDIwMEtCLiBTaG91bGQgZm9sbG93IHRoZSByZWdleCBwYXR0ZXJuIGBeZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJGAuSjciZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUEi+kJJckcYkKEPMj5eZGF0YTppbWFnZS8ocG5nfGpwZ3xqcGVnfGdpZik7YmFzZTY0LChbYS16QS1aMC05Ky9dKz17MCwyfSkrJNABASLpAwoYTGlzdE9yZ2FuaXphdGlvbnNSZXF1ZXN0EscBCgd1c2VyX2lkGAEgASgJQrUBkkGxATKuAVRoZSB1c2VyIElEIHRvIGZpbHRlciBieS4gSXQgY2FuIGJlIHVzZWQgdG8gbGlzdCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgdGhhdCB0aGUgdXNlciBpcyBhIG1lbWJlciBvZi4gT3RoZXJ3aXNlLCBhbGwgdGhlIG9yZ2FuaXphdGlvbnMgaW4gdGhlIEZyb250aWVyIGluc3RhbmNlIHdpbGwgYmUgbGlzdGVkLhJOCgVzdGF0ZRgCIAEoCUI/kkE8MjpUaGUgc3RhdGUgdG8gZmlsdGVyIGJ5LiBJdCBjYW4gYmUgYGVuYWJsZWRgIG9yIGBkaXNhYmxlZGAuEmUKCXBhZ2Vfc2l6ZRgDIAEoBUJSkkFGMkRUaGUgbWF4aW11bSBudW1iZXIgb2YgdXNlcnMgdG8gcmV0dXJuIHBlciBwYWdlLiBUaGUgZGVmYXVsdCBpcyAxMDAwLvpCBhoEKAFAARJMCghwYWdlX251bRgEIAEoBUI6kkEuMixUaGUgcGFnZSBudW1iZXIgdG8gcmV0dXJuLiBUaGUgZGVmYXVsdCBpcyAxLvpCBhoEKAFAASJbChlMaXN0T3JnYW5pemF0aW9uc1Jlc3BvbnNlEj4KDW9yZ2FuaXphdGlvbnMYASADKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJnChlDcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0EkoKBGJvZHkYASABKAsyMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvblJlcXVlc3RCb2R5Qgj6QgWKAQIQASJbChpDcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJYChdHZXRPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiJbChpVcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZRI9Cgxvcmdhbml6YXRpb24YASABKAsyJy5yYXlzdGFjay5mcm9udGllci52MWJldGExLk9yZ2FuaXphdGlvbiIkChZHZXRPcmdhbml6YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJImkKGVVwZGF0ZU9yZ2FuaXphdGlvblJlcXVlc3QSCgoCaWQYASABKAkSQAoEYm9keRgCIAEoCzIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uUmVxdWVzdEJvZHkiNAodTGlzdE9yZ2FuaXphdGlvbkFkbWluc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiUAoeTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyInwKHExpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSHQoRcGVybWlzc2lvbl9maWx0ZXIYAiABKAlCAhgBEhIKCndpdGhfcm9sZXMYAyABKAgSFAoMcm9sZV9maWx0ZXJzGAQgAygJIvMBCh1MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZRIuCgV1c2VycxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlchJVCgpyb2xlX3BhaXJzGAIgAygLMkEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZS5Sb2xlUGFpchpLCghSb2xlUGFpchIPCgd1c2VyX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlInwKG0FkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJICgh1c2VyX2lkcxgCIAMoCUI2kkEzMjFMaXN0IG9mIHVzZXIgSURzIHRvIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24uIh4KHEFkZE9yZ2FuaXphdGlvblVzZXJzUmVzcG9uc2UiRQodUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSDwoHdXNlcl9pZBgCIAEoCSIgCh5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVzcG9uc2UiOgojTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiZAokTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlEjwKDHNlcnZpY2V1c2VycxgBIAMoCzImLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2VydmljZVVzZXIi3AEKIkxpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1JlcXVlc3QSTwoGb3JnX2lkGAEgASgJQj+SQTgyNnVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIHRvIHdoaWNoIHVzZXIgaXMgaW52aXRlZOJBAQISZQoHdXNlcl9pZBgCIAEoCUJUkkFRMk91c2VyX2lkIGZpbHRlciBpcyB0aGUgZW1haWwgaWQgb2YgdXNlciB3aG8gYXJlIGludml0ZWQgaW5zaWRlIHRoZSBvcmdhbml6YXRpb24uImEKI0xpc3RPcmdhbml6YXRpb25JbnZpdGF0aW9uc1Jlc3BvbnNlEjoKC2ludml0YXRpb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIoYECiNDcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBJPCgZvcmdfaWQYASABKAlCP5JBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggdXNlciBpcyBpbnZpdGVk4kEBAhKrAQoIdXNlcl9pZHMYAiADKAlCmAGSQYYBMoMBdXNlcl9pZCBpcyBlbWFpbCBpZCBvZiB1c2VyIHdobyBhcmUgaW52aXRlZCBpbnNpZGUgdGhlIG9yZ2FuaXphdGlvbi4gSWYgdXNlciBpcyBub3QgcmVnaXN0ZXJlZCBvbiB0aGUgcGxhdGZvcm0sIGl0IHdpbGwgYmUgbm90aWZpZWTiQQEC+kIHkgEECAEQChJWCglncm91cF9pZHMYAyADKAlCQ5JBQDI+bGlzdCBvZiBncm91cCBpZHMgdG8gd2hpY2ggdXNlciBuZWVkcyB0byBiZSBhZGRlZCBhcyBhIG1lbWJlci4ShwEKCHJvbGVfaWRzGAQgAygJQnWSQXIycGxpc3Qgb2Ygcm9sZSBpZHMgdG8gd2hpY2ggdXNlciBuZWVkcyB0byBiZSBhZGRlZCBhcyBhIG1lbWJlci4gUm9sZXMgYXJlIGJpbmRlZCBhdCBvcmdhbml6YXRpb24gbGV2ZWwgYnkgZGVmYXVsdC4iYgokQ3JlYXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlEjoKC2ludml0YXRpb25zGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5JbnZpdGF0aW9uIj4KIEdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSJeCiFHZXRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2USOQoKaW52aXRhdGlvbhgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSW52aXRhdGlvbiJBCiNBY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZvcmdfaWQYAiABKAkiJgokQWNjZXB0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIkEKI0RlbGV0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCSKVAgoeTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0EmwKBm9yZ19pZBgBIAEoCUJckkFOMkx1bmlxdWUgaWQgb2YgdGhlIG9yZ2FuaXphdGlvbiBmb3Igd2hpY2ggd2hpdGVsaXN0ZWQgZG9tYWlucyBhcmUgdG8gYmUgbGlzdGVk4kEBAvpCBHICEAMShAEKBXN0YXRlGAIgASgJQnWSQXIycGZpbHRlciB0byBsaXN0IGRvbWFpbnMgYnkgdGhlaXIgc3RhdGUgKHBlbmRpbmcvdmVyaWZpZWQpLiBJZiBub3QgcHJvdmlkZWQsIGFsbCBkb21haW5zIGZvciBhbiBvcmcgd2lsbCBiZSBsaXN0ZWQiVQofTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXNwb25zZRIyCgdkb21haW5zGAEgAygLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4imAEKIExpc3RPcmdhbml6YXRpb25zQnlEb21haW5SZXF1ZXN0EnQKBG5hbWUYASABKAlCZpJBWDJWZG9tYWluIG5hbWUgdG8gYmUgdXNlZCB0byBsaXN0IGFsbCB0aGUgb3JnYW5pemF0aW9ucyB0aGF0IGhhdmUgdGhpcyBkb21haW4gd2hpdGVsaXN0ZWTiQQEC+kIEcgIQAyJjCiFMaXN0T3JnYW5pemF0aW9uc0J5RG9tYWluUmVzcG9uc2USPgoNb3JnYW5pemF0aW9ucxgBIAMoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuT3JnYW5pemF0aW9uIjIKF0pvaW5Pcmdhbml6YXRpb25SZXF1ZXN0EhcKBm9yZ19pZBgBIAEoCUIH+kIEcgIQAyIaChhKb2luT3JnYW5pemF0aW9uUmVzcG9uc2Ui0gEKHEdldE9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSQwoCaWQYASABKAlCN5JBKTIndW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgcmV0cmlldmVk4kEBAvpCBHICEAMSbQoGb3JnX2lkGAIgASgJQl2SQU8yTXVuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW4gaXMgdG8gYmUgcmV0cmlldmVk4kEBAvpCBHICEAMiUgodR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2USMQoGZG9tYWluGAEgASgLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Eb21haW4i4gEKH0NyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QSawoGb3JnX2lkGAEgASgJQluSQU0yS3VuaXF1ZSBpZCBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB3aGl0ZWxpc3RlZCBkb21haW5zIGFyZSB0byBiZSBhZGRlZOJBAQL6QgRyAhADElIKBmRvbWFpbhgCIAEoCUJCkkE0MjJkb21haW4gbmFtZSB0byBiZSBhZGRlZCB0byB0aGUgdHJ1c3RlZCBkb21haW4gbGlzdOJBAQL6QgRyAhADIlUKIENyZWF0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlEjEKBmRvbWFpbhgBIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRG9tYWluItMBCh9EZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0EkEKAmlkGAEgASgJQjWSQScyJXVuaXF1ZSBpZCBvZiB0aGUgZG9tYWluIHRvIGJlIGRlbGV0ZWTiQQEC+kIEcgIQAxJtCgZvcmdfaWQYAiABKAlCXZJBTzJNdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIGRlbGV0ZWTiQQEC+kIEcgIQAyIiCiBEZWxldGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLVAQofVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBJuCgZvcmdfaWQYASABKAlCXpJBUDJOdW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gZm9yIHdoaWNoIHdoaXRlbGlzdGVkIGRvbWFpbnMgYXJlIHRvIGJlIHZlcmlmaWVk4kEBAvpCBHICEAMSQgoCaWQYAiABKAlCNpJBKDImdW5pcXVlIGlkIG9mIHRoZSBkb21haW4gdG8gYmUgdmVyaWZpZWTiQQEC+kIEcgIQAyIxCiBWZXJpZnlPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZRINCgVzdGF0ZRgBIAEoCSImCiREZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2UiJwoZRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIcChpFbmFibGVPcmdhbml6YXRpb25SZXNwb25zZSIoChpEaXNhYmxlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIdChtEaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2UiJwoZRGVsZXRlT3JnYW5pemF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSIcChpEZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSIrChlHZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0Eg4KBm9yZ19pZBgBIAEoCSJiChpHZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZRJEChBvcmdhbml6YXRpb25fa3ljGAEgASgLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Pcmdhbml6YXRpb25LeWMirAUKElByb2plY3RSZXF1ZXN0Qm9keRL3AQoEbmFtZRgBIAEoCULoAZJByQEyxgFUaGUgbmFtZSBvZiB0aGUgcHJvamVjdC4gVGhlIG5hbWUgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIFRoZSBuYW1lIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuPGJyLz4gKkV4YW1wbGU6KiBgZnJvbnRpZXItcGxheWdyb3VuZGDiQQEC+kIUchIyEF5bQS1aYS16MC05LV9dKyQStwEKBXRpdGxlGAIgASgJQqcBkkGjATKgAVRoZSB0aXRsZSBjYW4gY29udGFpbiBhbnkgVVRGLTggY2hhcmFjdGVyLCB1c2VkIHRvIHByb3ZpZGUgYSBodW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgcHJvamVjdC4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgRnJvbnRpZXIgUGxheWdyb3VuZGASiQEKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEJekkFbMllNZXRhZGF0YSBvYmplY3QgZm9yIHByb2plY3RzIHRoYXQgY2FuIGhvbGQga2V5IHZhbHVlIHBhaXJzIGRlZmluZWQgaW4gUHJvamVjdCBNZXRhc2NoZW1hLhJWCgZvcmdfaWQYBCABKAlCRpJBODI2dW5pcXVlIGlkIG9mIHRoZSBvcmdhbml6YXRpb24gdG8gd2hpY2ggcHJvamVjdCBiZWxvbmdz4kEBAvpCBHICEAMiXQoUQ3JlYXRlUHJvamVjdFJlcXVlc3QSRQoEYm9keRgBIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdFJlcXVlc3RCb2R5Qgj6QgWKAQIQASJMChVDcmVhdGVQcm9qZWN0UmVzcG9uc2USMwoHcHJvamVjdBgBIAEoCzIiLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdCLfAQofTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxKLAQoFc3RhdGUYAiABKAlCfJJBeTJ3RmlsdGVyIHByb2plY3RzIGJ5IHN0YXRlLiBJZiBub3Qgc3BlY2lmaWVkLCBhbGwgcHJvamVjdHMgYXJlIHJldHVybmVkLiA8YnIvPiAqUG9zc2libGUgdmFsdWVzOiogYGVuYWJsZWRgIG9yIGBkaXNhYmxlZGASGQoRd2l0aF9tZW1iZXJfY291bnQYAyABKAgiWAogTGlzdE9yZ2FuaXphdGlvblByb2plY3RzUmVzcG9uc2USNAoIcHJvamVjdHMYASADKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiHwoRR2V0UHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiSQoSR2V0UHJvamVjdFJlc3BvbnNlEjMKB3Byb2plY3QYASABKAsyIi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByb2plY3QiXwoUVXBkYXRlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkSOwoEYm9keRgCIAEoCzItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJvamVjdFJlcXVlc3RCb2R5IkwKFVVwZGF0ZVByb2plY3RSZXNwb25zZRIzCgdwcm9qZWN0GAEgASgLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qcm9qZWN0Ii8KGExpc3RQcm9qZWN0QWRtaW5zUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJLChlMaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyIl0KF0xpc3RQcm9qZWN0VXNlcnNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEhkKEXBlcm1pc3Npb25fZmlsdGVyGAIgASgJEhIKCndpdGhfcm9sZXMYAyABKAgi6QEKGExpc3RQcm9qZWN0VXNlcnNSZXNwb25zZRIuCgV1c2VycxgBIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXNlchJQCgpyb2xlX3BhaXJzGAIgAygLMjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaSwoIUm9sZVBhaXISDwoHdXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSJJCh5MaXN0UHJvamVjdFNlcnZpY2VVc2Vyc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMSEgoKd2l0aF9yb2xlcxgDIAEoCCKMAgofTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZRI8CgxzZXJ2aWNldXNlcnMYASADKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlNlcnZpY2VVc2VyElcKCnJvbGVfcGFpcnMYAiADKAsyQy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaUgoIUm9sZVBhaXISFgoOc2VydmljZXVzZXJfaWQYASABKAkSLgoFcm9sZXMYAiADKAsyHy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJvbGUiQwoYTGlzdFByb2plY3RHcm91cHNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEhIKCndpdGhfcm9sZXMYAiABKAgi7gEKGUxpc3RQcm9qZWN0R3JvdXBzUmVzcG9uc2USMAoGZ3JvdXBzGAEgAygLMiAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cBJRCgpyb2xlX3BhaXJzGAIgAygLMj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEdyb3Vwc1Jlc3BvbnNlLlJvbGVQYWlyGkwKCFJvbGVQYWlyEhAKCGdyb3VwX2lkGAEgASgJEi4KBXJvbGVzGAIgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Sb2xlIiIKFEVuYWJsZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhcKFUVuYWJsZVByb2plY3RSZXNwb25zZSIjChVEaXNhYmxlUHJvamVjdFJlcXVlc3QSCgoCaWQYASABKAkiGAoWRGlzYWJsZVByb2plY3RSZXNwb25zZSIiChREZWxldGVQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoCSIXChVEZWxldGVQcm9qZWN0UmVzcG9uc2UiowgKEVBvbGljeVJlcXVlc3RCb2R5ElIKB3JvbGVfaWQYASABKAlCQZJBMzIxdW5pcXVlIGlkIG9mIHRoZSByb2xlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZOJBAQL6QgRyAhADEq8BCgV0aXRsZRgDIAEoCUKfAZJBmwEymAFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHBvbGljeS4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgUG9saWN5IHRpdGxlYBKzAQoIcmVzb3VyY2UYAiABKAlCoAGSQZEBMo4BVGhlIHJlc291cmNlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvZ3VhcmRpYW46NzBmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiOGUyYOJBAQL6QgRyAhADEu8CCglwcmluY2lwYWwYBCABKAlC2wKSQdMCMtACcHJpbmNpcGFsIGlzIHRoZSB1c2VyIG9yIGdyb3VwIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZC4gVGhlIHByaW5jaXBhbCBpZCBtdXN0IGJlIHByZWZpeGVkIHdpdGggaXRzIG5hbWVzcGFjZSBpZCBpbiB0aGlzIGZvcm1hdCBgbmFtZXNwYWNlOnV1aWRgLiBUaGUgbmFtZXNwYWNlIGNhbiBiZSBgYXBwL3VzZXJgLCBgYXBwL2dyb3VwYCBvciBgYXBwL3NlcnZpY2V1c2VyYCAoY29taW5nIHVwISkgYW5kIHV1aWQgaXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgcHJpbmNpcGFsLiA8YnIvPiAqRXhhbXBsZToqIGBhcHAvdXNlcjo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVg4kEBAhLfAQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0QrMBkkGvATKsAU1ldGFkYXRhIG9iamVjdCBmb3IgcG9saWNpZXMgdGhhdCBjYW4gaG9sZCBrZXkgdmFsdWUgcGFpcnMgZGVmaW5lZCBpbiBQb2xpY3kgTWV0YXNjaGVtYS48YnIvPiAqRXhhbXBsZToqIGB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJQb2xpY3kgZGVzY3JpcHRpb24ifWAilAUKGkNyZWF0ZVBvbGljeUZvclByb2plY3RCb2R5ElIKB3JvbGVfaWQYASABKAlCQZJBMzIxdW5pcXVlIGlkIG9mIHRoZSByb2xlIHRvIHdoaWNoIHBvbGljeSBpcyBhc3NpZ25lZOJBAQL6QgRyAhADEq8BCgV0aXRsZRgCIAEoCUKfAZJBmwEymAFUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHBvbGljeS4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4gPGJyLz4gKkV4YW1wbGU6KiBgUG9saWN5IHRpdGxlYBLvAgoJcHJpbmNpcGFsGAMgASgJQtsCkkHTAjLQAnByaW5jaXBhbCBpcyB0aGUgdXNlciBvciBncm91cCB0byB3aGljaCBwb2xpY3kgaXMgYXNzaWduZWQuIFRoZSBwcmluY2lwYWwgaWQgbXVzdCBiZSBwcmVmaXhlZCB3aXRoIGl0cyBuYW1lc3BhY2UgaWQgaW4gdGhpcyBmb3JtYXQgYG5hbWVzcGFjZTp1dWlkYC4gVGhlIG5hbWVzcGFjZSBjYW4gYmUgYGFwcC91c2VyYCwgYGFwcC9ncm91cGAgb3IgYGFwcC9zZXJ2aWNldXNlcmAgKGNvbWluZyB1cCEpIGFuZCB1dWlkIGlzIHRoZSB1bmlxdWUgaWQgb2YgdGhlIHByaW5jaXBhbC4gPGJyLz4gKkV4YW1wbGU6KiBgYXBwL3VzZXI6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YOJBAQIiIgoUR2V0UGVybWlzc2lvblJlcXVlc3QSCgoCaWQYASABKAkiUgoVR2V0UGVybWlzc2lvblJlc3BvbnNlEjkKCnBlcm1pc3Npb24YASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBlcm1pc3Npb24iGAoWTGlzdFBlcm1pc3Npb25zUmVxdWVzdCJVChdMaXN0UGVybWlzc2lvbnNSZXNwb25zZRI6CgtwZXJtaXNzaW9ucxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUGVybWlzc2lvbiIXChVMaXN0TmFtZXNwYWNlc1JlcXVlc3QiUgoWTGlzdE5hbWVzcGFjZXNSZXNwb25zZRI4CgpuYW1lc3BhY2VzGAEgAygLMiQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5OYW1lc3BhY2UiIQoTR2V0TmFtZXNwYWNlUmVxdWVzdBIKCgJpZBgBIAEoCSJPChRHZXROYW1lc3BhY2VSZXNwb25zZRI3CgluYW1lc3BhY2UYASABKAsyJC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk5hbWVzcGFjZSJbChNDcmVhdGVQb2xpY3lSZXF1ZXN0EkQKBGJvZHkYASABKAsyLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJPChRDcmVhdGVQb2xpY3lSZXNwb25zZRIxCgZwb2xpY3kYAiABKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeUoECAEQAiIeChBHZXRQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJIkYKEUdldFBvbGljeVJlc3BvbnNlEjEKBnBvbGljeRgBIAEoCzIhLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUG9saWN5IpkCChNMaXN0UG9saWNpZXNSZXF1ZXN0EjYKBm9yZ19pZBgBIAEoCUImkkEjMiFUaGUgb3JnYW5pemF0aW9uIGlkIHRvIGZpbHRlciBieS4SNQoKcHJvamVjdF9pZBgCIAEoCUIhkkEeMhxUaGUgcHJvamVjdCBpZCB0byBmaWx0ZXIgYnkuEi8KB3VzZXJfaWQYAyABKAlCHpJBGzIZVGhlIHVzZXIgaWQgdG8gZmlsdGVyIGJ5LhIvCgdyb2xlX2lkGAQgASgJQh6SQRsyGVRoZSByb2xlIGlkIHRvIGZpbHRlciBieS4SMQoIZ3JvdXBfaWQYBSABKAlCH5JBHDIaVGhlIGdyb3VwIGlkIHRvIGZpbHRlciBieS4iSwoUTGlzdFBvbGljaWVzUmVzcG9uc2USMwoIcG9saWNpZXMYASADKAsyIS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeSJdChNVcGRhdGVQb2xpY3lSZXF1ZXN0EgoKAmlkGAEgASgJEjoKBGJvZHkYAiABKAsyLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlBvbGljeVJlcXVlc3RCb2R5IksKFFVwZGF0ZVBvbGljeVJlc3BvbnNlEjMKCHBvbGljaWVzGAEgAygLMiEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Qb2xpY3kiIQoTRGVsZXRlUG9saWN5UmVxdWVzdBIKCgJpZBgBIAEoCSIWChREZWxldGVQb2xpY3lSZXNwb25zZSKLAQodQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoCUIH+kIEcgIQAxJNCgRib2R5GAIgASgLMjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0Qm9keUII+kIFigECEAEiIAoeQ3JlYXRlUG9saWN5Rm9yUHJvamVjdFJlc3BvbnNlInIKE1JlbGF0aW9uUmVxdWVzdEJvZHkSDgoGb2JqZWN0GAEgASgJEg8KB3N1YmplY3QYAyABKAkSEAoIcmVsYXRpb24YBCABKAkSHAoUc3ViamVjdF9zdWJfcmVsYXRpb24YBiABKAlKBAgCEANKBAgFEAYiXwoVQ3JlYXRlUmVsYXRpb25SZXF1ZXN0EkYKBGJvZHkYASABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uUmVxdWVzdEJvZHlCCPpCBYoBAhABIk8KFkNyZWF0ZVJlbGF0aW9uUmVzcG9uc2USNQoIcmVsYXRpb24YASABKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlbGF0aW9uIiAKEkdldFJlbGF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCSJMChNHZXRSZWxhdGlvblJlc3BvbnNlEjUKCHJlbGF0aW9uGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvbiJhChVVcGRhdGVSZWxhdGlvblJlcXVlc3QSCgoCaWQYASABKAkSPAoEYm9keRgCIAEoCzIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVsYXRpb25SZXF1ZXN0Qm9keSJPChZVcGRhdGVSZWxhdGlvblJlc3BvbnNlEjUKCHJlbGF0aW9uGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWxhdGlvbiK5BgoQR3JvdXBSZXF1ZXN0Qm9keRLPAQoEbmFtZRgBIAEoCULAAZJBoQEyngFUaGUgbmFtZSBvZiB0aGUgZ3JvdXAuIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBUaGUgbmFtZSBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLuJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKLAQoFdGl0bGUYAiABKAlCfJJBeTJ3VGhlIHRpdGxlIGNhbiBjb250YWluIGFueSBVVEYtOCBjaGFyYWN0ZXIsIHVzZWQgdG8gcHJvdmlkZSBhIGh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBncm91cC4gQ2FuIGFsc28gYmUgbGVmdCBlbXB0eS4SvgMKCG1ldGFkYXRhGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEKSA5JBjgMyiwNNZXRhZGF0YSBvYmplY3QgZm9yIGdyb3VwcyB0aGF0IGNhbiBob2xkIGtleSB2YWx1ZSBwYWlycyBkZWZpbmVkIGluIEdyb3VwIE1ldGFzY2hlbWEuIFRoZSBtZXRhZGF0YSBvYmplY3QgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYXJiaXRyYXJ5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBncm91cCBzdWNoIGFzIGxhYmVscywgZGVzY3JpcHRpb25zIGV0Yy4gVGhlIGRlZmF1bHQgR3JvdXAgTWV0YXNjaGVtYSBjb250YWlucyBsYWJlbHMgYW5kIGRlc2NyaXB0b24gZmllbGRzLiBVcGRhdGUgdGhlIEdyb3VwIE1ldGFzY2hlbWEgdG8gYWRkIG1vcmUgZmllbGRzLjxici8+KkV4YW1wbGU6KmB7ImxhYmVscyI6IHsia2V5IjogInZhbHVlIn0sICJkZXNjcmlwdGlvbiI6ICJHcm91cCBkZXNjcmlwdGlvbiJ9YEoECAQQBSKmAQoSQ3JlYXRlR3JvdXBSZXF1ZXN0EkMKBGJvZHkYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdyb3VwUmVxdWVzdEJvZHlCCPpCBYoBAhABEksKBm9yZ19pZBgCIAEoCUI7kkE0MjJUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBncm91cCBiZWxvbmdzIHRvLuJBAQIiQwoPR2V0R3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCRIUCgx3aXRoX21lbWJlcnMYAyABKAgiRgoTQ3JlYXRlR3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiQwoQR2V0R3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiRgoTVXBkYXRlR3JvdXBSZXNwb25zZRIvCgVncm91cBgBIAEoCzIgLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR3JvdXAiqAEKElVwZGF0ZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRI5CgRib2R5GAIgASgLMisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Hcm91cFJlcXVlc3RCb2R5EksKBm9yZ19pZBgDIAEoCUI7kkE0MjJUaGUgb3JnYW5pemF0aW9uIElEIHRvIHdoaWNoIHRoZSBncm91cCBiZWxvbmdzIHRvLuJBAQIiRwoVTGlzdEdyb3VwVXNlcnNSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBm9yZ19pZBgCIAEoCRISCgp3aXRoX3JvbGVzGAMgASgIIuUBChZMaXN0R3JvdXBVc2Vyc1Jlc3BvbnNlEi4KBXVzZXJzGAEgAygLMh8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Vc2VyEk4KCnJvbGVfcGFpcnMYAiADKAsyOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UuUm9sZVBhaXIaSwoIUm9sZVBhaXISDwoHdXNlcl9pZBgBIAEoCRIuCgVyb2xlcxgCIAMoCzIfLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUm9sZSI5ChJFbmFibGVHcm91cFJlcXVlc3QSCgoCaWQYASABKAkSFwoGb3JnX2lkGAIgASgJQgf6QgRyAhADIhUKE0VuYWJsZUdyb3VwUmVzcG9uc2UiOgoTRGlzYWJsZUdyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMiFgoURGlzYWJsZUdyb3VwUmVzcG9uc2UiOQoSRGVsZXRlR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAyIVChNEZWxldGVHcm91cFJlc3BvbnNlIk0KFEFkZEdyb3VwVXNlcnNSZXF1ZXN0EgoKAmlkGAEgASgJEhcKBm9yZ19pZBgCIAEoCUIH+kIEcgIQAxIQCgh1c2VyX2lkcxgDIAMoCSIXChVBZGRHcm91cFVzZXJzUmVzcG9uc2UiTgoWUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBIKCgJpZBgBIAEoCRIXCgZvcmdfaWQYAiABKAlCB/pCBHICEAMSDwoHdXNlcl9pZBgDIAEoCSIZChdSZW1vdmVHcm91cFVzZXJSZXNwb25zZSJQChVEZWxldGVSZWxhdGlvblJlcXVlc3QSDgoGb2JqZWN0GAEgASgJEg8KB3N1YmplY3QYAiABKAkSEAoIcmVsYXRpb24YBCABKAlKBAgDEAQiGAoWRGVsZXRlUmVsYXRpb25SZXNwb25zZSJTChtMaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgCIAEoCUIH+kIEcgIQAxIRCgluYW1lc3BhY2UYBCABKAlKBAgBEAIiVgocTGlzdFByb2plY3RSZXNvdXJjZXNSZXNwb25zZRI2CglyZXNvdXJjZXMYASADKAsyIy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlIrYGChNSZXNvdXJjZVJlcXVlc3RCb2R5EnMKBG5hbWUYASABKAlCZZJBXjJcVGhlIG5hbWUgb2YgdGhlIHJlc291cmNlLiAgTXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBwcm9qZWN0LiA8YnIvPiAqRXhhbXBsZToqIGBteS1yZXNvdXJjZWDiQQECEo4BCgV0aXRsZRgCIAEoCUJ/kkF8MnpUaGUgdGl0bGUgY2FuIGNvbnRhaW4gYW55IFVURi04IGNoYXJhY3RlciwgdXNlZCB0byBwcm92aWRlIGEgaHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhlIHJlc291cmNlLiBDYW4gYWxzbyBiZSBsZWZ0IGVtcHR5LhLyAQoJbmFtZXNwYWNlGAMgASgJQt4BkkHWATLTAVRoZSBuYW1lc3BhY2Ugb2YgdGhlIHJlc291cmNlLiBUaGUgcmVzb3VyY2UgbmFtZXNwYWNlIGFyZSBjcmVhdGVkIHdoZW4gcGVybWlzc2lvbnMgZm9yIHRoYXQgcmVzb3VyY2UgaXMgY3JlYXRlZCBpbiBGcm9udGllci4gSWYgbmFtZXNwYWNlIGRvZXNuJ3QgZXhpc3RzIHRoZSByZXF1ZXN0IHdpbGwgZmFpbC4gPGJyLz4gKkV4YW1wbGU6KiBgY29tcHV0ZS9pbnN0YW5jZWDiQQECEuwBCglwcmluY2lwYWwYBiABKAlC2AGSQdQBMtEBVXNlcklEIG9yIFNlcnZpY2VVc2VySUQgdGhhdCBzaG91bGQgYmUgbWFya2VkIGFzIG93bmVyIG9mIHRoZSByZXNvdXJjZS4gSWYgbm90IHByb3ZpZGVkLCB0aGUgY3VycmVudCBsb2dnZWQgaW4gdXNlciB3aWxsIGJlIG1hZGUgdGhlIHJlc291cmNlIG93bmVyLiA8YnIvPiAqRXhhbXBsZToqIGB1c2VyOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWASKQoIbWV0YWRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SgQIBBAFSgQIBRAGIqYBChxDcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EkYKBGJvZHkYASABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlUmVxdWVzdEJvZHlCCPpCBYoBAhABEhIKCnByb2plY3RfaWQYAiABKAkSKgoCaWQYAyABKAlCHpJBGzIZQXV0b2dlbmVyYXRlZCBpZiBza2lwcGVkLiJWCh1DcmVhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZRI1CghyZXNvdXJjZRgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UiSgoZR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBIKCgJpZBgBIAEoCRIbCgpwcm9qZWN0X2lkGAMgASgJQgf6QgRyAhADSgQIAhADIlMKGkdldFByb2plY3RSZXNvdXJjZVJlc3BvbnNlEjUKCHJlc291cmNlGAEgASgLMiMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXNvdXJjZSJ8ChxVcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0EgoKAmlkGAEgASgJEjwKBGJvZHkYAiABKAsyLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlJlc291cmNlUmVxdWVzdEJvZHkSEgoKcHJvamVjdF9pZBgDIAEoCSJWCh1VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZRI1CghyZXNvdXJjZRgBIAEoCzIjLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVzb3VyY2UiRwocRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBIKCgJpZBgBIAEoCRIbCgpwcm9qZWN0X2lkGAMgASgJQgf6QgRyAhADIh8KHURlbGV0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlIoMGCh5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlcXVlc3QSQwoJb2JqZWN0X2lkGAEgASgJQjAYAZJBKzIpRGVwcmVjYXRlZC4gVXNlIGByZXNvdXJjZWAgZmllbGQgaW5zdGVhZC4SSgoQb2JqZWN0X25hbWVzcGFjZRgCIAEoCUIwGAGSQSsyKURlcHJlY2F0ZWQuIFVzZSBgcmVzb3VyY2VgIGZpZWxkIGluc3RlYWQuEowBCgpwZXJtaXNzaW9uGAMgASgJQniSQVkyV3RoZSBwZXJtaXNzaW9uIG5hbWUgdG8gY2hlY2suIDxici8+ICpFeGFtcGxlOiogYGdldGAsIGBsaXN0YCwgYGNvbXB1dGUuaW5zdGFuY2UuY3JlYXRlYOJBAQL6QhVyEzIRXltBLVphLXowLTkuXy1dKyQSwAMKCHJlc291cmNlGAQgASgJQq0DkkGpAzKmA2BuYW1lc3BhY2U6dXVpZGAgb3IgYG5hbWVzcGFjZTpuYW1lYCBvZiB0aGUgb3JnIG9yIHByb2plY3QsIGFuZCBgbmFtZXNwYWNlOnVybmAgb2YgYSByZXNvdXJjZSB1bmRlciBhIHByb2plY3QuIEluIGNhc2Ugb2YgYW4gb3JnL3Byb2plY3QgZWl0aGVyIHByb3ZpZGUgdGhlIGNvbXBsZXRlIG5hbWVzcGFjZSAoYXBwL29yZ2FuaXphdGlvbikgb3IgRnJvbnRpZXIgY2FuIGFsc28gcGFyc2UgYWxpYXNlcyBmb3IgdGhlIHNhbWUgYXMgYG9yZ2Agb3IgYHByb2plY3RgLiA8YnIvPiAqRXhhbXBsZToqIGBvcmdhbml6YXRpb246OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCBvciBgYXBwL3Byb2plY3Q6cHJvamVjdC1uYW1lYCBvciBgY29tcHV0ZS9pbnN0YW5jZTo5MmY2OWMzYS0zMzRiLTRmMjUtOTBiOC00ZDRmM2JlNmI4MjVgIjEKH0NoZWNrUmVzb3VyY2VQZXJtaXNzaW9uUmVzcG9uc2USDgoGc3RhdHVzGAEgASgIIm4KG0JhdGNoQ2hlY2tQZXJtaXNzaW9uUmVxdWVzdBJPCgZib2RpZXMYASADKAsyMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkJhdGNoQ2hlY2tQZXJtaXNzaW9uQm9keUIK+kIHkgEECAEQFCLSBAoYQmF0Y2hDaGVja1Blcm1pc3Npb25Cb2R5EnMKCnBlcm1pc3Npb24YASABKAlCX5JBQDI+dGhlIHBlcm1pc3Npb24gbmFtZSB0byBjaGVjay4gPGJyLz4gKkV4YW1wbGU6KiBgZ2V0YCBvciBgbGlzdGDiQQEC+kIVchMyEV5bQS1aYS16MC05Ll8tXSskEsADCghyZXNvdXJjZRgCIAEoCUKtA5JBqQMypgNgbmFtZXNwYWNlOnV1aWRgIG9yIGBuYW1lc3BhY2U6bmFtZWAgb2YgdGhlIG9yZyBvciBwcm9qZWN0LCBhbmQgYG5hbWVzcGFjZTp1cm5gIG9mIGEgcmVzb3VyY2UgdW5kZXIgYSBwcm9qZWN0LiBJbiBjYXNlIG9mIGFuIG9yZy9wcm9qZWN0IGVpdGhlciBwcm92aWRlIHRoZSBjb21wbGV0ZSBuYW1lc3BhY2UgKGFwcC9vcmdhbml6YXRpb24pIG9yIEZyb250aWVyIGNhbiBhbHNvIHBhcnNlIGFsaWFzZXMgZm9yIHRoZSBzYW1lIGFzIGBvcmdgIG9yIGBwcm9qZWN0YC4gPGJyLz4gKkV4YW1wbGU6KiBgb3JnYW5pemF0aW9uOjkyZjY5YzNhLTMzNGItNGYyNS05MGI4LTRkNGYzYmU2YjgyNWAgb3IgYGFwcC9wcm9qZWN0OnByb2plY3QtbmFtZWAgb3IgYGNvbXB1dGUvaW5zdGFuY2U6OTJmNjljM2EtMzM0Yi00ZjI1LTkwYjgtNGQ0ZjNiZTZiODI1YCJqChxCYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlEkoKBXBhaXJzGAEgAygLMjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlUGFpciJ1CiBCYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlUGFpchJBCgRib2R5GAEgASgLMjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvbkJvZHkSDgoGc3RhdHVzGAIgASgIIqEDChVNZXRhU2NoZW1hUmVxdWVzdEJvZHkS1AEKBG5hbWUYASABKAlCxQGSQaYBMqMBVGhlIG5hbWUgb2YgdGhlIG1ldGFzY2hlbWEuIFRoZSBuYW1lIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIEZyb250aWVyIGluc3RhbmNlLiBUaGUgbmFtZSBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLuJBAQL6QhRyEjIQXltBLVphLXowLTktX10rJBKwAQoGc2NoZW1hGAIgASgJQp8BkkGQATKNAVRoZSBzY2hlbWEgb2YgdGhlIG1ldGFzY2hlbWEuIFRoZSBzY2hlbWEgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLuJBAQL6QgRyAhACImMKF0NyZWF0ZU1ldGFTY2hlbWFSZXF1ZXN0EkgKBGJvZHkYASABKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWFSZXF1ZXN0Qm9keUII+kIFigECEAEiVQoYQ3JlYXRlTWV0YVNjaGVtYVJlc3BvbnNlEjkKCm1ldGFzY2hlbWEYASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWEiIgoUR2V0TWV0YVNjaGVtYVJlcXVlc3QSCgoCaWQYASABKAkiUgoVR2V0TWV0YVNjaGVtYVJlc3BvbnNlEjkKCm1ldGFzY2hlbWEYASABKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLk1ldGFTY2hlbWEibwoXVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QSCgoCaWQYASABKAkSSAoEYm9keRgCIAEoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYVJlcXVlc3RCb2R5Qgj6QgWKAQIQASJVChhVcGRhdGVNZXRhU2NoZW1hUmVzcG9uc2USOQoKbWV0YXNjaGVtYRgBIAEoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIlChdEZWxldGVNZXRhU2NoZW1hUmVxdWVzdBIKCgJpZBgBIAEoCSIaChhEZWxldGVNZXRhU2NoZW1hUmVzcG9uc2UiGAoWTGlzdE1ldGFTY2hlbWFzUmVxdWVzdCJVChdMaXN0TWV0YVNjaGVtYXNSZXNwb25zZRI6CgttZXRhc2NoZW1hcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTWV0YVNjaGVtYSIcChpEZXNjcmliZVByZWZlcmVuY2VzUmVxdWVzdCJZChtEZXNjcmliZVByZWZlcmVuY2VzUmVzcG9uc2USOgoGdHJhaXRzGAEgAygLMioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlVHJhaXQihwEKJENyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJKCgZib2RpZXMYAiADKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VSZXF1ZXN0Qm9keUII+kIFkgECCAEiYwolQ3JlYXRlT3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSI5CiJMaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADImEKI0xpc3RPcmdhbml6YXRpb25QcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlIoIBCh9DcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJeCiBDcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZRI6CgtwcmVmZXJlbmNlcxgBIAMoCzIlLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZSI0Ch1MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAyJcCh5MaXN0UHJvamVjdFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UigAEKHUNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADEkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJcCh5DcmVhdGVHcm91cFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiMgobTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXF1ZXN0EhMKAmlkGAEgASgJQgf6QgRyAhADIloKHExpc3RHcm91cFByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UifwocQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVxdWVzdBITCgJpZBgBIAEoCUIH+kIEcgIQAxJKCgZib2RpZXMYAiADKAsyMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2VSZXF1ZXN0Qm9keUII+kIFkgECCAEiWwodQ3JlYXRlVXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiMQoaTGlzdFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QSEwoCaWQYASABKAlCB/pCBHICEAMiWQobTGlzdFVzZXJQcmVmZXJlbmNlc1Jlc3BvbnNlEjoKC3ByZWZlcmVuY2VzGAEgAygLMiUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QcmVmZXJlbmNlInEKI0NyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0EkoKBmJvZGllcxgCIAMoCzIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUHJlZmVyZW5jZVJlcXVlc3RCb2R5Qgj6QgWSAQIIASJiCiRDcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiIwohTGlzdEN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0ImAKIkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2USOgoLcHJlZmVyZW5jZXMYASADKAsyJS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlByZWZlcmVuY2UiSAodQmlsbGluZ1dlYmhvb2tDYWxsYmFja1JlcXVlc3QSGQoIcHJvdmlkZXIYASABKAlCB/pCBHICEAESDAoEYm9keRgCIAEoDCIgCh5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVzcG9uc2UihAQKG0NyZWF0ZVByb3NwZWN0UHVibGljUmVxdWVzdBI+CgRuYW1lGAEgASgJQjCSQRcyFWZ1bGwgbmFtZSBvZiB0aGUgdXNlcvpCE3IRMgxeW0EtWmEteiBdKyTQAQESMgoFZW1haWwYBSABKAlCI5JBEzIRZW1haWwgb2YgdGhlIHVzZXLiQQEC+kIGcgQQAWABEiwKBXBob25lGAYgASgJQh2SQRoyGHBob25lIG51bWJlciBvZiB0aGUgdXNlchKAAQoIYWN0aXZpdHkYByABKAlCbpJBTjJMYWN0aXZpdHkgZm9yIHdoaWNoIHVzZXIgaXMgc3Vic2NyaWJpbmcsIGUuZy4gbmV3c2xldHRlciwgd2FpdGxpc3QsIGJsb2dzIGV0Y+JBAQL6QhZyFBABMhBeW0EtWmEtejAtOS1fXSskEm0KBnNvdXJjZRgJIAEoCUJdkkFAMj5zb3VyY2Ugb2YgdGhpcyB1c2VyIGFkZGl0aW9uIGUuZy4gcGxhdGZvcm0sIHdlYnNpdGUsIGFkbWluIGV0Y/pCF3IVMhBeW0EtWmEtejAtOS1fXSsk0AEBElEKCG1ldGFkYXRhGAsgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEImkkEjMiFhZGRpdGlvbmFsIGluZm8gYXMga2V5IHZhbHVlIHBhaXIiHgocQ3JlYXRlUHJvc3BlY3RQdWJsaWNSZXNwb25zZSIVChNMaXN0U2Vzc2lvbnNSZXF1ZXN0IkwKFExpc3RTZXNzaW9uc1Jlc3BvbnNlEjQKCHNlc3Npb25zGAEgAygLMiIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5TZXNzaW9uIjgKFFJldm9rZVNlc3Npb25SZXF1ZXN0EiAKCnNlc3Npb25faWQYASABKAlCDOJBAQL6QgVyA7ABASIXChVSZXZva2VTZXNzaW9uUmVzcG9uc2UiGAoWUGluZ1VzZXJTZXNzaW9uUmVxdWVzdCJUChdQaW5nVXNlclNlc3Npb25SZXNwb25zZRI5CghtZXRhZGF0YRgBIAEoCzInLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuU2Vzc2lvbi5NZXRhIrUDChhDcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QSQAoFYWN0b3IYASABKAsyKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkQWN0b3JCBOJBAQISGgoFZXZlbnQYAiABKAlCC+JBAQL6QgRyAhADEkYKCHJlc291cmNlGAMgASgLMi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdWRpdFJlY29yZFJlc291cmNlQgTiQQECEjwKBnRhcmdldBgEIAEoCzIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXVkaXRSZWNvcmRUYXJnZXQSNQoLb2NjdXJyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgTiQQECEhgKBm9yZ19pZBgGIAEoCUII+kIFcgOwAQESEgoKcmVxdWVzdF9pZBgHIAEoCRIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJQoPaWRlbXBvdGVuY3lfa2V5GAkgASgJQgziQQEC+kIFcgOwAQEiWQoZQ3JlYXRlQXVkaXRSZWNvcmRSZXNwb25zZRI8CgxhdWRpdF9yZWNvcmQYASABKAsyJi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1ZGl0UmVjb3JkMtORAwoPRnJvbnRpZXJTZXJ2aWNlEugCCglMaXN0VXNlcnMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2Vyc1Jlc3BvbnNlIv8BkkHlAQoEVXNlchIRTGlzdCBwdWJsaWMgdXNlcnMayQFSZXR1cm5zIHRoZSB1c2VycyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkga2V5d29yZCwgb3JnYW5pemF0aW9uLCBncm91cCBhbmQgc3RhdGUuIEFkZGl0aW9uYWxseSB5b3UgY2FuIGluY2x1ZGUgcGFnZSBudW1iZXIgYW5kIHBhZ2Ugc2l6ZSBmb3IgcGFnaW5hdGlvbi6C0+STAhASDi92MWJldGExL3VzZXJzErsGCgpDcmVhdGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlVXNlclJlc3BvbnNlIs8FkkGvBQoEVXNlchILQ3JlYXRlIHVzZXIalwVDcmVhdGUgYSB1c2VyIHdpdGggdGhlIGdpdmVuIGRldGFpbHMuIEEgdXNlciBpcyBub3QgYXR0YWNoZWQgdG8gYW4gb3JnYW5pemF0aW9uIG9yIGEgZ3JvdXAgYnkgZGVmYXVsdCxhbmQgY2FuIGJlIGludml0ZWQgdG8gdGhlIG9yZy9ncm91cC4gVGhlIG5hbWUgb2YgdGhlIHVzZXIgbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UuIElmIGEgdXNlciBuYW1lIGlzIG5vdCBwcm92aWRlZCwgRnJvbnRpZXIgYXV0b21hdGljYWxseSBnZW5lcmF0ZXMgYSBuYW1lIGZyb20gdGhlIHVzZXIgZW1haWwuIFRoZSB1c2VyIG1ldGFkYXRhIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSB1c2VyIG1ldGFzY2hlbWEuIEJ5IGRlZmF1bHQgdGhlIHVzZXIgbWV0YXNjaGVtYSBjb250YWlucyBgbGFiZWxzYCBhbmQgYGRlc2NyaXB0aW9uc2AgZm9yIHRoZSB1c2VyLiBUaGUgYHRpdGxlYCBmaWVsZCBjYW4gYmUgb3B0aW9uYWxseSBhZGRlZCBmb3IgYSB1c2VyLWZyaWVuZGx5IG5hbWUuIDxici8+PGJyLz4qRXhhbXBsZToqYHsiZW1haWwiOiJqb2huLmRvZUByYXlzdGFjay5vcmciLCJ0aXRsZSI6IkpvaG4gRG9lIixtZXRhZGF0YTp7ImxhYmVsIjogeyJrZXkxIjogInZhbHVlMSJ9LCAiZGVzY3JpcHRpb24iOiAiVXNlciBEZXNjcmlwdGlvbiJ9fWBiAILT5JMCFiIOL3YxYmV0YTEvdXNlcnM6BGJvZHkSzwEKB0dldFVzZXISKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVzZXJSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRVc2VyUmVzcG9uc2UibZJBTwoEVXNlchIIR2V0IHVzZXIaPUdldCBhIHVzZXIgYnkgaWQgc2VhcmNoZWQgb3ZlciBhbGwgb3JnYW5pemF0aW9ucyBpbiBGcm9udGllci6C0+STAhUSEy92MWJldGExL3VzZXJzL3tpZH0S6gIKDkxpc3RVc2VyR3JvdXBzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlckdyb3Vwc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyR3JvdXBzUmVzcG9uc2Ui8gGSQcwBCgRVc2VyEhBMaXN0IHVzZXIgZ3JvdXBzGrEBTGlzdHMgYWxsIHRoZSBncm91cHMgYSB1c2VyIGJlbG9uZ3MgdG8gYWNyb3NzIGFsbCBvcmdhbml6YXRpb24gaW4gRnJvbnRpZXIuIFRvIGdldCB0aGUgZ3JvdXBzIG9mIGEgdXNlciBpbiBhIHNwZWNpZmljIG9yZ2FuaXphdGlvbiwgdXNlIHRoZSBvcmdfaWQgZmlsdGVyIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIugtPkkwIcEhovdjFiZXRhMS91c2Vycy97aWR9L2dyb3VwcxLHAQoVTGlzdEN1cnJlbnRVc2VyR3JvdXBzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJHcm91cHNSZXNwb25zZSI7kkEWCgRVc2VyEg5MaXN0IG15IGdyb3Vwc4LT5JMCHBIaL3YxYmV0YTEvdXNlcnMvc2VsZi9ncm91cHMSrQEKDkdldEN1cnJlbnRVc2VyEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDdXJyZW50VXNlclJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEN1cnJlbnRVc2VyUmVzcG9uc2UiNpJBGAoEVXNlchIQR2V0IGN1cnJlbnQgdXNlcoLT5JMCFRITL3YxYmV0YTEvdXNlcnMvc2VsZhKiAQoKVXBkYXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVVzZXJSZXNwb25zZSI3kkETCgRVc2VyEgtVcGRhdGUgdXNlcoLT5JMCGxoTL3YxYmV0YTEvdXNlcnMve2lkfToEYm9keRK/AQoRVXBkYXRlQ3VycmVudFVzZXISMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUN1cnJlbnRVc2VyUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQ3VycmVudFVzZXJSZXNwb25zZSI/kkEbCgRVc2VyEhNVcGRhdGUgY3VycmVudCB1c2VygtPkkwIbGhMvdjFiZXRhMS91c2Vycy9zZWxmOgRib2R5EpECCgpFbmFibGVVc2VyEiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVVc2VyUmVxdWVzdBotLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlVXNlclJlc3BvbnNlIqUBkkF9CgRVc2VyEgtFbmFibGUgdXNlchpoU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZW5hYmxlZC4gVGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAh8iGi92MWJldGExL3VzZXJzL3tpZH0vZW5hYmxlOgEqEpADCgtEaXNhYmxlVXNlchItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVVzZXJSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlVXNlclJlc3BvbnNlIqECkkH3AQoEVXNlchIMRGlzYWJsZSB1c2VyGuABU2V0cyB0aGUgc3RhdGUgb2YgdGhlIHVzZXIgYXMgZGlhYmxlZC5UaGUgdXNlcidzIG1lbWJlcnNoaXAgdG8gZ3JvdXBzIGFuZCBvcmdhbml6YXRpb25zIHdpbGwgc3RpbGwgZXhpc3QgYWxvbmcgd2l0aCBhbGwgaXQncyByb2xlcyBmb3IgYWNjZXNzIGNvbnRyb2wsIGJ1dCB0aGUgdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGxvZyBpbiBhbmQgYWNjZXNzIHRoZSBGcm9udGllciBpbnN0YW5jZS6C0+STAiAiGy92MWJldGExL3VzZXJzL3tpZH0vZGlzYWJsZToBKhL3AQoKRGVsZXRlVXNlchIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlVXNlclJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVVzZXJSZXNwb25zZSKLAZJBbQoEVXNlchILRGVsZXRlIHVzZXIaWERlbGV0ZSBhbiB1c2VyIHBlcm1hbmVudGx5IGZvcmV2ZXIgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIChvcmdhbml6YXRpb25zLCBncm91cHMsIGV0YymC0+STAhUqEy92MWJldGExL3VzZXJzL3tpZH0S/wQKF0xpc3RPcmdhbml6YXRpb25zQnlVc2VyEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uc0J5VXNlclJlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zQnlVc2VyUmVzcG9uc2Ui7AOSQb8DCgRVc2VyEhZHZXQgdXNlciBvcmdhbml6YXRpb25zGp4DVGhpcyBBUEkgcmV0dXJucyB0d28gbGlzdCBvZiBvcmdhbml6YXRpb25zIGZvciB0aGUgdXNlci4gaSkgVGhlIGxpc3Qgb2Ygb3JncyB3aGljaCB0aGUgY3VycmVudCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mIGlpKSBUaGUgbGlzdCBvZiBvcmdhbml6YXRpb25zIHRoZSB1c2VyIGNhbiBqb2luIGRpcmVjdGx5IChiYXNlZCBvbiBkb21haW4gd2hpdGVsaXN0ZWQgYW5kIHZlcmlmaWVkIGJ5IHRoZSBvcmcpLiBUaGlzIGxpc3Qgd2lsbCBhbHNvIGNvbnRhaW4gb3JncyBvZiB3aGljaCB1c2VyIGlzIGFscmVhZHkgYSBwYXJ0IG9mLiBOb3RlOiB0aGUgZG9tYWluIG5lZWRzIHRvIGJlIHZlcmlmaWVkIGJ5IHRoZSBvcmcgYmVmb3JlIHRoZSBpdCBpcyByZXR1cm5lZCBhcyBvbmUgb2YgdGhlIGpvaW5hYmxlIG9yZ3MgYnkgZG9tYWlugtPkkwIjEiEvdjFiZXRhMS91c2Vycy97aWR9L29yZ2FuaXphdGlvbnMSpAUKHkxpc3RPcmdhbml6YXRpb25zQnlDdXJyZW50VXNlchJALnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVxdWVzdBpBLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNCeUN1cnJlbnRVc2VyUmVzcG9uc2Ui/AOSQc8DCgRVc2VyEhRHZXQgbXkgb3JnYW5pemF0aW9ucxqwA1RoaXMgQVBJIHJldHVybnMgdHdvIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyBmb3IgdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIuIGkpIFRoZSBsaXN0IG9mIG9yZ3Mgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZiBpaSkgVGhlIGxpc3Qgb2Ygb3JnYW5pemF0aW9ucyB0aGUgdXNlciBjYW4gam9pbiBkaXJlY3RseSAoYmFzZWQgb24gZG9tYWluIHdoaXRlbGlzdGVkIGFuZCB2ZXJpZmllZCBieSB0aGUgb3JnKS4gVGhpcyBsaXN0IHdpbGwgYWxzbyBjb250YWluIG9yZ3Mgb2Ygd2hpY2ggdXNlciBpcyBhbHJlYWR5IGEgcGFydCBvZi4gTm90ZTogdGhlIGRvbWFpbiBuZWVkcyB0byBiZSB2ZXJpZmllZCBieSB0aGUgb3JnIGJlZm9yZSB0aGUgaXQgaXMgcmV0dXJuZWQgYXMgb25lIG9mIHRoZSBqb2luYWJsZSBvcmdzIGJ5IGRvbWFpboLT5JMCIxIhL3YxYmV0YTEvdXNlcnMvc2VsZi9vcmdhbml6YXRpb25zEuwBChJMaXN0UHJvamVjdHNCeVVzZXISNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5VXNlclJlc3BvbnNlImmSQUIKBFVzZXISEUdldCB1c2VyIHByb2plY3RzGidHZXQgYWxsIHRoZSBwcm9qZWN0cyBhIHVzZXIgYmVsb25ncyB0by6C0+STAh4SHC92MWJldGExL3VzZXJzL3tpZH0vcHJvamVjdHMShAIKGUxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXISOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0c0J5Q3VycmVudFVzZXJSZXF1ZXN0GjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdHNCeUN1cnJlbnRVc2VyUmVzcG9uc2UibJJBRQoEVXNlchIPR2V0IG15IHByb2plY3RzGixHZXQgYWxsIHByb2plY3RzIHRoZSBjdXJyZW50IHVzZXIgYmVsb25ncyB0b4LT5JMCHhIcL3YxYmV0YTEvdXNlcnMvc2VsZi9wcm9qZWN0cxL3AQoTTGlzdFVzZXJJbnZpdGF0aW9ucxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VySW52aXRhdGlvbnNSZXNwb25zZSJxkkFHCgRVc2VyEhVMaXN0IHVzZXIgaW52aXRhdGlvbnMaKExpc3QgYWxsIHRoZSBpbnZpdGF0aW9ucyBzZW50IHRvIGEgdXNlci6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vaW52aXRhdGlvbnMSkgIKGkxpc3RDdXJyZW50VXNlckludml0YXRpb25zEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJJbnZpdGF0aW9uc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlckludml0YXRpb25zUmVzcG9uc2Uid5JBTQoEVXNlchIVTGlzdCB1c2VyIGludml0YXRpb25zGi5MaXN0IGFsbCB0aGUgaW52aXRhdGlvbnMgc2VudCB0byBjdXJyZW50IHVzZXIugtPkkwIhEh8vdjFiZXRhMS91c2Vycy9zZWxmL2ludml0YXRpb25zEqgCChBMaXN0U2VydmljZVVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2Vyc1Jlc3BvbnNlIqoBkkGJAQoLU2VydmljZVVzZXISFkxpc3Qgb3JnIHNlcnZpY2UgdXNlcnMaYlJldHVybnMgdGhlIHNlcnZpY2UgdXNlciBvZiBhbiBvcmdhbml6YXRpb24gaW4gYSBGcm9udGllciBpbnN0YW5jZS4gSXQgY2FuIGJlIGZpbHRlciBieSBpdCdzIHN0YXRlgtPkkwIXEhUvdjFiZXRhMS9zZXJ2aWNldXNlcnMS9AEKEUNyZWF0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyUmVzcG9uc2UidJJBOgoLU2VydmljZVVzZXISE0NyZWF0ZSBzZXJ2aWNlIHVzZXIaFkNyZWF0ZSBhIHNlcnZpY2UgdXNlci6C0+STAjEiLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzOgEqEvgBCg5HZXRTZXJ2aWNlVXNlchIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U2VydmljZVVzZXJSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlclJlc3BvbnNlIoABkkFECgtTZXJ2aWNlVXNlchIQR2V0IHNlcnZpY2UgdXNlchojR2V0IHNlcnZpY2UgdXNlciBkZXRhaWxzIGJ5IGl0cyBpZC6C0+STAjMSMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SvgIKEURlbGV0ZVNlcnZpY2VVc2VyEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlclJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyUmVzcG9uc2UivQGSQYABCgtTZXJ2aWNlVXNlchITRGVsZXRlIHNlcnZpY2UgdXNlchpcRGVsZXRlIGEgc2VydmljZSB1c2VyIHBlcm1hbmVudGx5IGFuZCBhbGwgb2YgaXRzIHJlbGF0aW9ucyAoa2V5cywgb3JnYW5pemF0aW9ucywgcm9sZXMsIGV0YymC0+STAjMqMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0SmAMKFENyZWF0ZVNlcnZpY2VVc2VySldLEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VySldLUmVzcG9uc2UijgKSQckBCgtTZXJ2aWNlVXNlchIrQ3JlYXRlIHNlcnZpY2UgdXNlciBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpchqMAUdlbmVyYXRlIGEgc2VydmljZSB1c2VyIGtleSBhbmQgcmV0dXJuIGl0LCB0aGUgcHJpdmF0ZSBrZXkgcGFydCBvZiB0aGUgcmVzcG9uc2Ugd2lsbCBub3QgYmUgcGVyc2lzdGVkIGFuZCBzaG91bGQgYmUga2VwdCBzZWN1cmVseSBieSBjbGllbnQugtPkkwI7IjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXM6ASoSrwIKE0xpc3RTZXJ2aWNlVXNlckpXS3MSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlckpXS3NSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJKV0tzUmVzcG9uc2UiqAGSQWcKC1NlcnZpY2VVc2VyEhZMaXN0IHNlcnZpY2UgdXNlciBrZXlzGkBMaXN0IGFsbCB0aGUga2V5cyBvZiBhIHNlcnZpY2UgdXNlciB3aXRoIGl0cyBkZXRhaWxzIGV4Y2VwdCBqd2sugtPkkwI4EjYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L2tleXMSlgIKEUdldFNlcnZpY2VVc2VySldLEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRTZXJ2aWNlVXNlckpXS1JlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFNlcnZpY2VVc2VySldLUmVzcG9uc2UilQGSQUsKC1NlcnZpY2VVc2VyEhRHZXQgc2VydmljZSB1c2VyIGtleRomR2V0IGEgc2VydmljZSB1c2VyIHB1YmxpYyBSU0EgSldLIHNldC6C0+STAkESPy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0va2V5cy97a2V5X2lkfRKiAgoURGVsZXRlU2VydmljZVVzZXJKV0sSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VySldLUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJKV0tSZXNwb25zZSKYAZJBTgoLU2VydmljZVVzZXISF0RlbGV0ZSBzZXJ2aWNlIHVzZXIga2V5GiZEZWxldGUgYSBzZXJ2aWNlIHVzZXIga2V5IHBlcm1hbmVudGx5LoLT5JMCQSo/L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9rZXlzL3trZXlfaWR9EqQDChtDcmVhdGVTZXJ2aWNlVXNlckNyZWRlbnRpYWwSPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlcXVlc3QaPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVNlcnZpY2VVc2VyQ3JlZGVudGlhbFJlc3BvbnNlIoUCkkG9AQoLU2VydmljZVVzZXISJkNyZWF0ZSBzZXJ2aWNlIHVzZXIgY2xpZW50IGNyZWRlbnRpYWxzGoUBR2VuZXJhdGUgYSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbCBhbmQgcmV0dXJuIGl0LiBUaGUgY3JlZGVudGlhbCB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPiI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzOgEqErkCChpMaXN0U2VydmljZVVzZXJDcmVkZW50aWFscxI8LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyQ3JlZGVudGlhbHNSZXF1ZXN0Gj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJDcmVkZW50aWFsc1Jlc3BvbnNlIp0BkkFZCgtTZXJ2aWNlVXNlchIdTGlzdCBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaK0xpc3QgYWxsIHRoZSBjcmVkZW50aWFscyBvZiBhIHNlcnZpY2UgdXNlci6C0+STAjsSOS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vc2VjcmV0cxLAAgobRGVsZXRlU2VydmljZVVzZXJDcmVkZW50aWFsEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVTZXJ2aWNlVXNlckNyZWRlbnRpYWxSZXNwb25zZSKhAZJBUQoLU2VydmljZVVzZXISH0RlbGV0ZSBzZXJ2aWNlIHVzZXIgY3JlZGVudGlhbHMaIURlbGV0ZSBhIHNlcnZpY2UgdXNlciBjcmVkZW50aWFsLoLT5JMCRypFL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS9zZWNyZXRzL3tzZWNyZXRfaWR9EvwCChZDcmVhdGVTZXJ2aWNlVXNlclRva2VuEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVTZXJ2aWNlVXNlclRva2VuUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlU2VydmljZVVzZXJUb2tlblJlc3BvbnNlIuwBkkGlAQoLU2VydmljZVVzZXISGUNyZWF0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4ae0dlbmVyYXRlIGEgc2VydmljZSB1c2VyIHRva2VuIGFuZCByZXR1cm4gaXQuIFRoZSB0b2tlbiB2YWx1ZSB3aWxsIG5vdCBiZSBwZXJzaXN0ZWQgYW5kIHNob3VsZCBiZSBzZWN1cmVseSBzdG9yZWQgYnkgY2xpZW50LoLT5JMCPSI4L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9zZXJ2aWNldXNlcnMve2lkfS90b2tlbnM6ASoSnwIKFUxpc3RTZXJ2aWNlVXNlclRva2VucxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlcnZpY2VVc2VyVG9rZW5zUmVzcG9uc2UikgGSQU8KC1NlcnZpY2VVc2VyEhhMaXN0IHNlcnZpY2UgdXNlciB0b2tlbnMaJkxpc3QgYWxsIHRoZSB0b2tlbnMgb2YgYSBzZXJ2aWNlIHVzZXIugtPkkwI6EjgvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Rva2VucxKkAgoWRGVsZXRlU2VydmljZVVzZXJUb2tlbhI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlU2VydmljZVVzZXJUb2tlblJlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZVNlcnZpY2VVc2VyVG9rZW5SZXNwb25zZSKUAZJBRgoLU2VydmljZVVzZXISGURlbGV0ZSBzZXJ2aWNlIHVzZXIgdG9rZW4aHERlbGV0ZSBhIHNlcnZpY2UgdXNlciB0b2tlbi6C0+STAkUqQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vc2VydmljZXVzZXJzL3tpZH0vdG9rZW5zL3t0b2tlbl9pZH0SsAIKF0xpc3RTZXJ2aWNlVXNlclByb2plY3RzEjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0U2VydmljZVVzZXJQcm9qZWN0c1JlcXVlc3QaOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTZXJ2aWNlVXNlclByb2plY3RzUmVzcG9uc2UinQGSQVgKC1NlcnZpY2VVc2VyEhpMaXN0IHNlcnZpY2Ugc3NlciBwcm9qZWN0cxotTGlzdCBhbGwgcHJvamVjdHMgdGhlIHNlcnZpY2UgdXNlciBiZWxvbmdzIHRvgtPkkwI8EjovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3NlcnZpY2V1c2Vycy97aWR9L3Byb2plY3RzEuQCChZMaXN0T3JnYW5pemF0aW9uR3JvdXBzEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uR3JvdXBzUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkdyb3Vwc1Jlc3BvbnNlItQBkkGiAQoFR3JvdXASGExpc3Qgb3JnYW5pemF0aW9uIGdyb3Vwcxp/R2V0IGFsbCBncm91cHMgdGhhdCBiZWxvbmcgdG8gYW4gb3JnYW5pemF0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgZmlsdGVyZWQgYnkgc3RhdGUgd2hpY2ggY2FuIGJlIGVpdGhlciBiZSBlbmFibGVkIG9yIGRpc2FibGVkLoLT5JMCKBImL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMSnQMKC0NyZWF0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUmVzcG9uc2UirgKSQfYBCgVHcm91cBIMQ3JlYXRlIGdyb3VwGt4BQ3JlYXRlIGEgbmV3IGdyb3VwIGluIGFuIG9yZ2FuaXphdGlvbiB3aGljaCBzZXJ2ZXMgYXMgYSBjb250YWluZXIgZm9yIHVzZXJzLiBUaGUgZ3JvdXAgY2FuIGJlIGFzc2lnbmVkIHJvbGVzIGFuZCBwZXJtaXNzaW9ucyBhbmQgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGFjY2VzcyB0byByZXNvdXJjZXMuIEFsc28gYSBncm91cCBjYW4gYWxzbyBiZSBhc3NpZ25lZCB0byBvdGhlciBncm91cHMugtPkkwIuIiYvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3VwczoEYm9keRKtAQoIR2V0R3JvdXASKi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEdyb3VwUmVxdWVzdBorLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0R3JvdXBSZXNwb25zZSJIkkESCgVHcm91cBIJR2V0IGdyb3VwgtPkkwItEisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9Er8BCgtVcGRhdGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVHcm91cFJlc3BvbnNlIlGSQRUKBUdyb3VwEgxVcGRhdGUgZ3JvdXCC0+STAjMaKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH06BGJvZHkS/gEKDkxpc3RHcm91cFVzZXJzEjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0R3JvdXBVc2Vyc1JlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFVzZXJzUmVzcG9uc2UihgGSQUoKBUdyb3VwEhBMaXN0IGdyb3VwIHVzZXJzGi9SZXR1cm5zIGEgbGlzdCBvZiB1c2VycyB0aGF0IGJlbG9uZyB0byBhIGdyb3VwLoLT5JMCMxIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS91c2VycxLdAgoNQWRkR3JvdXBVc2VycxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkR3JvdXBVc2Vyc1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZEdyb3VwVXNlcnNSZXNwb25zZSLoAZJBqAEKBUdyb3VwEg5BZGQgZ3JvdXAgdXNlchqOAUFkZHMgYSBwcmluY2lwbGUodXNlciBhbmQgc2VydmljZS11c2VycykgdG8gYSBncm91cCwgZXhpc3RpbmcgdXNlcnMgaW4gdGhlIGdyb3VwIHdpbGwgYmUgaWdub3JlZC4gQSBncm91cCBjYW4ndCBoYXZlIG5lc3RlZCBncm91cHMgYXMgbWVtYmVycy6C0+STAjYiMS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnM6ASoS7wIKD1JlbW92ZUdyb3VwVXNlchIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlR3JvdXBVc2VyUmVzcG9uc2Ui9AGSQa0BCgVHcm91cBIRUmVtb3ZlIGdyb3VwIHVzZXIakAFSZW1vdmVzIGEgcHJpbmNpcGxlKHVzZXIgYW5kIHNlcnZpY2UtdXNlcnMpIGZyb20gYSBncm91cC4gSWYgdGhlIHVzZXIgaXMgbm90IGluIHRoZSBncm91cCwgdGhlIHJlcXVlc3Qgd2lsbCBzdWNjZWVkIGJ1dCBubyBjaGFuZ2VzIHdpbGwgYmUgbWFkZS6C0+STAj0qOy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZ3JvdXBzL3tpZH0vdXNlcnMve3VzZXJfaWR9EsMCCgtFbmFibGVHcm91cBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlR3JvdXBSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVHcm91cFJlc3BvbnNlItQBkkGTAQoFR3JvdXASDEVuYWJsZSBncm91cBp8U2V0cyB0aGUgc3RhdGUgb2YgdGhlIGdyb3VwIGFzIGVuYWJsZWQuIFRoZSBgZW5hYmxlZGAgZmxhZyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgZ3JvdXAgY2FuIGJlIHVzZWQgZm9yIGFjY2VzcyBjb250cm9sLoLT5JMCNyIyL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9ncm91cHMve2lkfS9lbmFibGU6ASoS1AMKDERpc2FibGVHcm91cBIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZUdyb3VwUmVzcG9uc2Ui4gKSQaACCgVHcm91cBINRGlzYWJsZSBncm91cBqHAlNldHMgdGhlIHN0YXRlIG9mIHRoZSBncm91cCBhcyBkaXNhYmxlZC4gVGhlIGdyb3VwIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IgYWNjZXNzIGNvbnRyb2wgYW5kIHRoZSBleGlzdGluZyB1c2VycyBpbiB0aGUgZ3JvdXAgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IHJlc291cmNlcyB0aGF0IGFyZSBhc3NpZ25lZCB0byB0aGUgZ3JvdXAuIE5vIG90aGVyIHVzZXJzIGNhbiBiZSBhZGRlZCB0byB0aGUgZ3JvdXAgd2hpbGUgaXQgaXMgZGlzYWJsZWQugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9L2Rpc2FibGU6ASoS/QEKC0RlbGV0ZUdyb3VwEi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVHcm91cFJlcXVlc3QaLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUdyb3VwUmVzcG9uc2UijgGSQVgKBUdyb3VwEgxEZWxldGUgZ3JvdXAaQURlbGV0ZSBhbiBvcmdhbml6YXRpb24gZ3JvdXAgcGVybWFuZW50bHkgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zgtPkkwItKisvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2dyb3Vwcy97aWR9EpMCCglMaXN0Um9sZXMSKy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1JlcXVlc3QaLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RSb2xlc1Jlc3BvbnNlIqoBkkGQAQoEUm9sZRITTGlzdCBwbGF0Zm9ybSByb2xlcxpzUmV0dXJucyBhIGxpc3Qgb2YgcGxhdGZvcm0gd2lkZSByb2xlcyBhdmFpbGFibGUgaW4gZW5pdHJlIEZyb250aWVyIGluc3RhbmNlIGFsb25nIHdpdGggdGhlaXIgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCEBIOL3YxYmV0YTEvcm9sZXMSvAIKFUxpc3RPcmdhbml6YXRpb25Sb2xlcxI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblJvbGVzUmVzcG9uc2UirwGSQX8KBFJvbGUSF0xpc3Qgb3JnYW5pemF0aW9uIHJvbGVzGl5SZXR1cm5zIGEgbGlzdCBvZiBjdXN0b20gcm9sZXMgY3JlYXRlZCB1bmRlciBhbiBvcmdhbml6YXRpb24gd2l0aCB0aGVpciBhc3NvY2lhdGVkIHBlcm1pc3Npb25zgtPkkwInEiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzEvcCChZDcmVhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIucBkkGwAQoEUm9sZRIYQ3JlYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BQ3JlYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwItIiUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzOgRib2R5EqwCChNHZXRPcmdhbml6YXRpb25Sb2xlEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIqUBkkFwCgRSb2xlEhVHZXQgb3JnYW5pemF0aW9uIHJvbGUaUVJldHVybnMgYSBjdXN0b20gcm9sZSB1bmRlciBhbiBvcmdhbml6YXRpb24gYWxvbmcgd2l0aCBpdHMgYXNzb2NpYXRlZCBwZXJtaXNzaW9uc4LT5JMCLBIqL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9yb2xlcy97aWR9EvwCChZVcGRhdGVPcmdhbml6YXRpb25Sb2xlEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25Sb2xlUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlT3JnYW5pemF0aW9uUm9sZVJlc3BvbnNlIuwBkkGwAQoEUm9sZRIYVXBkYXRlIG9yZ2FuaXphdGlvbiByb2xlGo0BVXBkYXRlIGEgY3VzdG9tIHJvbGUgdW5kZXIgYW4gb3JnYW5pemF0aW9uLiBUaGlzIGN1c3RvbSByb2xlIHdpbGwgb25seSBiZSBhdmFpbGFibGUgZm9yIGFzc2lnbm1lbnQgdG8gdGhlIHByaW5jaXBsZXMgd2l0aGluIHRoZSBvcmdhbml6YXRpb24ugtPkkwIyGiovdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L3JvbGVzL3tpZH06BGJvZHkStwIKFkRlbGV0ZU9yZ2FuaXphdGlvblJvbGUSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvblJvbGVSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25Sb2xlUmVzcG9uc2UipwGSQXIKBFJvbGUSGERlbGV0ZSBvcmdhbml6YXRpb24gcm9sZRpQRGVsZXRlIGEgY3VzdG9tIHJvbGUgYW5kIGFsbCBvZiBpdHMgcmVsYXRpb25zIHVuZGVyIGFuIG9yZ2FuaXphdGlvbiBwZXJtYW5lbnRseS6C0+STAiwqKi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vcm9sZXMve2lkfRKaAgoRTGlzdE9yZ2FuaXphdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbnNSZXNwb25zZSKZAZJBeAoMT3JnYW5pemF0aW9uEhJMaXN0IG9yZ2FuaXphdGlvbnMaVFJldHVybnMgYSBsaXN0IG9mIG9yZ2FuaXphdGlvbnMuIEl0IGNhbiBiZSBmaWx0ZXJlZCBieSB1c2VySUQgb3Igb3JnYW5pemF0aW9uIHN0YXRlLoLT5JMCGBIWL3YxYmV0YTEvb3JnYW5pemF0aW9ucxLNAQoSQ3JlYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25SZXNwb25zZSJKkkEjCgxPcmdhbml6YXRpb24SE0NyZWF0ZSBvcmdhbml6YXRpb26C0+STAh4iFi92MWJldGExL29yZ2FuaXphdGlvbnM6BGJvZHkS4AEKD0dldE9yZ2FuaXphdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uUmVzcG9uc2UiZpJBQAoMT3JnYW5pemF0aW9uEhBHZXQgb3JnYW5pemF0aW9uGh5HZXQgb3JnYW5pemF0aW9uIGJ5IElEIG9yIG5hbWWC0+STAh0SGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfRLtAQoSVXBkYXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVPcmdhbml6YXRpb25SZXNwb25zZSJqkkE+CgxPcmdhbml6YXRpb24SE1VwZGF0ZSBvcmdhbml6YXRpb24aGVVwZGF0ZSBvcmdhbml6YXRpb24gYnkgSUSC0+STAiMaGy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfToEYm9keRKfAgoYTGlzdE9yZ2FuaXphdGlvblByb2plY3RzEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJvamVjdHNSZXNwb25zZSKJAZJBWgoMT3JnYW5pemF0aW9uEhlHZXQgb3JnYW5pemF0aW9uIHByb2plY3RzGi9HZXQgYWxsIHByb2plY3RzIHRoYXQgYmVsb25nIHRvIGFuIG9yZ2FuaXphdGlvboLT5JMCJhIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3Byb2plY3RzEo4CChZMaXN0T3JnYW5pemF0aW9uQWRtaW5zEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uQWRtaW5zUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkFkbWluc1Jlc3BvbnNlIn+SQVIKDE9yZ2FuaXphdGlvbhIYTGlzdCBvcmdhbml6YXRpb24gYWRtaW5zGihSZXR1cm5zIGEgbGlzdCBhZG1pbnMgb2YgYW4gb3JnYW5pemF0aW9ugtPkkwIkEiIvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vYWRtaW5zEt8BChVMaXN0T3JnYW5pemF0aW9uVXNlcnMSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1JlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RPcmdhbml6YXRpb25Vc2Vyc1Jlc3BvbnNlIlOSQScKDE9yZ2FuaXphdGlvbhIXTGlzdCBvcmdhbml6YXRpb24gdXNlcnOC0+STAiMSIS92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS91c2VycxLtAgoUQWRkT3JnYW5pemF0aW9uVXNlcnMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFkZE9yZ2FuaXphdGlvblVzZXJzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQWRkT3JnYW5pemF0aW9uVXNlcnNSZXNwb25zZSLjAZJBswEKDE9yZ2FuaXphdGlvbhIVQWRkIG9yZ2FuaXphdGlvbiB1c2VyGosBQWRkIGEgdXNlciB0byBhbiBvcmdhbml6YXRpb24uIEEgdXNlciBtdXN0IGV4aXN0cyBpbiBGcm9udGllciBiZWZvcmUgYWRkaW5nIGl0IHRvIGFuIG9yZy4gVGhpcyByZXF1ZXN0IHdpbGwgZmFpbCBpZiB0aGUgdXNlciBkb2Vzbid0IGV4aXN0c4LT5JMCJiIhL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzOgEqEpICChZSZW1vdmVPcmdhbml6YXRpb25Vc2VyEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZW1vdmVPcmdhbml6YXRpb25Vc2VyUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVtb3ZlT3JnYW5pemF0aW9uVXNlclJlc3BvbnNlIoIBkkFMCgxPcmdhbml6YXRpb24SGFJlbW92ZSBvcmdhbml6YXRpb24gdXNlchoiUmVtb3ZlIGEgdXNlciBmcm9tIGFuIG9yZ2FuaXphdGlvboLT5JMCLSorL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3VzZXJzL3t1c2VyX2lkfRKWAgoSR2V0T3JnYW5pemF0aW9uS3ljEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRPcmdhbml6YXRpb25LeWNSZXNwb25zZSKSAZJBZAoPT3JnYW5pemF0aW9uS3ljEh9HZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uGjBHZXQgS1lDIGluZm8gb2YgYW4gb3JnYW5pemF0aW9uIHVzaW5nIElEIG9yIG5hbWWC0+STAiUSIy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0va3ljEoMCChxMaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uU2VydmljZVVzZXJzUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvblNlcnZpY2VVc2Vyc1Jlc3BvbnNlImKSQS8KDE9yZ2FuaXphdGlvbhIfTGlzdCBvcmdhbml6YXRpb24gc2VydmljZSB1c2Vyc4LT5JMCKhIoL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3NlcnZpY2V1c2VycxK5AgobTGlzdE9yZ2FuaXphdGlvbkludml0YXRpb25zEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uSW52aXRhdGlvbnNSZXNwb25zZSKaAZJBZAoMT3JnYW5pemF0aW9uEhhMaXN0IHBlbmRpbmcgaW52aXRhdGlvbnMaOlJldHVybnMgYWxsIHBlbmRpbmcgaW52aXRhdGlvbnMgcXVldWVkIGZvciBhbiBvcmdhbml6YXRpb26C0+STAi0SKy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vaW52aXRhdGlvbnMS9gIKHENyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui1AGSQZoBCgxPcmdhbml6YXRpb24SC0ludml0ZSB1c2VyGn1JbnZpdGUgdXNlcnMgdG8gYW4gb3JnYW5pemF0aW9uLCBpZiB1c2VyIGlzIG5vdCByZWdpc3RlcmVkIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2lsbCBiZSBub3RpZmllZC4gSW52aXRhdGlvbnMgZXhwaXJlIGluIDcgZGF5c4LT5JMCMCIrL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9uczoBKhKzAgoZR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvbhI7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uSW52aXRhdGlvblJlcXVlc3QaPC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldE9yZ2FuaXphdGlvbkludml0YXRpb25SZXNwb25zZSKaAZJBXwoMT3JnYW5pemF0aW9uEhZHZXQgcGVuZGluZyBpbnZpdGF0aW9uGjdSZXR1cm5zIGEgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9ugtPkkwIyEjAvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0SmQMKHEFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb24SPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkFjY2VwdE9yZ2FuaXphdGlvbkludml0YXRpb25SZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BY2NlcHRPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVzcG9uc2Ui9wGSQbEBCgxPcmdhbml6YXRpb24SGUFjY2VwdCBwZW5kaW5nIGludml0YXRpb24ahQFBY2NlcHQgcGVuZGluZyBpbnZpdGF0aW9uIHF1ZXVlZCBmb3IgYW4gb3JnYW5pemF0aW9uLiBUaGUgdXNlciB3aWxsIGJlIGFkZGVkIHRvIHRoZSBvcmdhbml6YXRpb24gYW5kIGdyb3VwcyBkZWZpbmVkIGluIHRoZSBpbnZpdGF0aW9ugtPkkwI8IjcvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2ludml0YXRpb25zL3tpZH0vYWNjZXB0OgEqEr4CChxEZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uEj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25JbnZpdGF0aW9uUmVxdWVzdBo/LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlT3JnYW5pemF0aW9uSW52aXRhdGlvblJlc3BvbnNlIpwBkkFhCgxPcmdhbml6YXRpb24SGURlbGV0ZSBwZW5kaW5nIGludml0YXRpb24aNkRlbGV0ZSBhIHBlbmRpbmcgaW52aXRhdGlvbiBxdWV1ZWQgZm9yIGFuIG9yZ2FuaXphdGlvboLT5JMCMiowL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9pbnZpdGF0aW9ucy97aWR9EtgDChdMaXN0T3JnYW5pemF0aW9uRG9tYWlucxI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE9yZ2FuaXphdGlvbkRvbWFpbnNSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uRG9tYWluc1Jlc3BvbnNlIsUCkkGSAgoMT3JnYW5pemF0aW9uEhBMaXN0IG9yZyBkb21haW5zGu8BUmV0dXJucyBhbGwgZG9tYWlucyB3aGl0ZWxpc3RlZCBmb3IgYW4gb3JnYW5pemF0aW9uIChib3RoIHBlbmRpbmcgYW5kIHZlcmlmaWVkIGlmIG5vIGZpbHRlcnMgYXJlIHByb3ZpZGVkIGZvciB0aGUgc3RhdGUpLiBUaGUgdmVyaWZpZWQgZG9tYWlucyBhbGxvdyB1c2VycyBlbWFpbCB3aXRoIHRoZSBvcmcncyB3aGl0ZWxpc3RlZCBkb21haW4gdG8gam9pbiB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vZG9tYWlucxL+BAoYQ3JlYXRlT3JnYW5pemF0aW9uRG9tYWluEjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXF1ZXN0GjsucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25Eb21haW5SZXNwb25zZSLoA5JBsgMKDE9yZ2FuaXphdGlvbhIRQ3JlYXRlIG9yZyBkb21haW4ajgNBZGQgYSBkb21haW4gdG8gYW4gb3JnYW5pemF0aW9uIHdoaWNoIGlmIHZlcmlmaWVkIGFsbG93cyBhbGwgdXNlcnMgb2YgdGhlIHNhbWUgZG9tYWluIHRvIGJlIHNpZ25lZCB1cCB0byB0aGUgb3JnYW5pemF0aW9uIHdpdGhvdXQgaW52aXRhdGlvbi4gVGhpcyBBUEkgZ2VuZXJhdGVzIGEgdmVyaWZpY2F0aW9uIHRva2VuIGZvciBhIGRvbWFpbiB3aGljaCBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBzaG91bGQgYmUgdmVyaWZpZWQgd2l0aCBGcm9udGllciBWZXJpZnlPcmdhbml6YXRpb25Eb21haW4gQVBJIGJlZm9yZSBpdCBjYW4gYmUgdXNlZCBhcyBhbiBPcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbiB0byBzaWduIHVwIHVzZXJzLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zOgEqErcCChhEZWxldGVPcmdhbml6YXRpb25Eb21haW4SOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU9yZ2FuaXphdGlvbkRvbWFpblJlc3BvbnNlIqEBkkFqCgxPcmdhbml6YXRpb24SEURlbGV0ZSBvcmcgZG9tYWluGkdSZW1vdmUgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB0cnVzdGVkIGRvbWFpbnMgbGlzdILT5JMCLiosL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0S4gIKFUdldE9yZ2FuaXphdGlvbkRvbWFpbhI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2Ui1QGSQZ0BCgxPcmdhbml6YXRpb24SDkdldCBvcmcgZG9tYWluGn1HZXQgYSBkb21haW4gZnJvbSB0aGUgbGlzdCBvZiBhbiBvcmdhbml6YXRpb24ncyB3aGl0ZWxpc3RlZCBkb21haW5zLiBSZXR1cm5zIGJvdGggdmVyaWZpZWQgYW5kIHVudmVyaWZpZWQgZG9tYWlucyBieSB0aGVpciBJRILT5JMCLhIsL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9kb21haW5zL3tpZH0SpQQKGFZlcmlmeU9yZ2FuaXphdGlvbkRvbWFpbhI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVmVyaWZ5T3JnYW5pemF0aW9uRG9tYWluUmVzcG9uc2UijwOSQc0CCgxPcmdhbml6YXRpb24SEVZlcmlmeSBvcmcgZG9tYWluGqkCVmVyaWZ5IGEgZG9tYWluIGZvciBhbiBvcmdhbml6YXRpb24gd2l0aCBhIHZlcmlmaWNhdGlvbiB0b2tlbiBnZW5lcmF0ZWQgYnkgRnJvbnRpZXIgR2VuZXJhdGVEb21haW5WZXJpZmljYXRpb25Ub2tlbiBBUEkuIFRoZSB0b2tlbiBtdXN0IGJlIGFkZGVkIHRvIHlvdXIgZG9tYWluJ3MgRE5TIHByb3ZpZGVyIGFzIGEgVFhUIHJlY29yZCBiZWZvcmUgaXQgY2FuIGJlIHZlcmlmaWVkLiBUaGlzIEFQSSByZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgZG9tYWluIChwZW5kaW5nL3ZlcmlmaWVkKSBhZnRlciB2ZXJpZmljYXRpb24ugtPkkwI4IjMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2RvbWFpbnMve2lkfS92ZXJpZnk6ASoSkgMKEEpvaW5Pcmdhbml6YXRpb24SMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkpvaW5Pcmdhbml6YXRpb25SZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5Kb2luT3JnYW5pemF0aW9uUmVzcG9uc2UilAKSQeEBCgxPcmdhbml6YXRpb24SEUpvaW4gb3JnYW5pemF0aW9uGr0BQWxsb3dzIHRoZSBjdXJyZW50IGxvZ2dlZCBpbiB1c2VyIHRvIGpvaW4gdGhlIE9yZyBpZiBvbmUgaXMgbm90IGEgcGFydCBvZiBpdC4gVGhlIHVzZXIgd2lsbCBvbmx5IGJlIGFibGUgdG8gam9pbiB3aGVuIHRoZSB1c2VyIGVtYWlsJ3MgZG9tYWluIG1hdGNoZXMgdGhlIG9yZ2FuaXphdGlvbidzIHdoaXRlbGlzdGVkIGRvbWFpbnMugtPkkwIpIiQvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2pvaW46ASoS2QIKEkVuYWJsZU9yZ2FuaXphdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui1QGSQaQBCgxPcmdhbml6YXRpb24SE0VuYWJsZSBvcmdhbml6YXRpb24af1NldHMgdGhlIHN0YXRlIG9mIHRoZSBvcmdhbml6YXRpb24gYXMgZW5hYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyBhbnkgb3JnYW5pemF0aW9uIHJlc291cmNlcy6C0+STAiciIi92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9lbmFibGU6ASoS5AIKE0Rpc2FibGVPcmdhbml6YXRpb24SNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVPcmdhbml6YXRpb25SZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlT3JnYW5pemF0aW9uUmVzcG9uc2Ui3QGSQasBCgxPcmdhbml6YXRpb24SFERpc2FibGUgb3JnYW5pemF0aW9uGoQBU2V0cyB0aGUgc3RhdGUgb2YgdGhlIG9yZ2FuaXphdGlvbiBhcyBkaXNhYmxlZC4gVGhlIGV4aXN0aW5nIHVzZXJzIGluIHRoZSBvcmcgd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgYW55IG9yZ2FuaXphdGlvbiByZXNvdXJjZXMugtPkkwIoIiMvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tpZH0vZGlzYWJsZToBKhLGAgoSRGVsZXRlT3JnYW5pemF0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVPcmdhbml6YXRpb25SZXNwb25zZSLCAZJBmwEKDE9yZ2FuaXphdGlvbhITRGVsZXRlIG9yZ2FuaXphdGlvbhp2RGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBhbmQgYWxsIG9mIGl0cyByZWxhdGlvbnMgcGVybWFuZW50bHkuIFRoZSBvcmdhbml6YXRpb24gdXNlcnMgd2lsbCBub3QgYmUgZGVsZXRlZCBmcm9tIEZyb250aWVyLoLT5JMCHSobL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9Eq8BCg1DcmVhdGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvamVjdFJlc3BvbnNlIjuSQRkKB1Byb2plY3QSDkNyZWF0ZSBwcm9qZWN0gtPkkwIZIhEvdjFiZXRhMS9wcm9qZWN0czoEYm9keRK7AQoKR2V0UHJvamVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2plY3RSZXNwb25zZSJQkkEvCgdQcm9qZWN0EgtHZXQgcHJvamVjdBoXUmV0dXJucyBhIHByb2plY3QgYnkgSUSC0+STAhgSFi92MWJldGExL3Byb2plY3RzL3tpZH0SzQEKDVVwZGF0ZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzcG9uc2UiWZJBMgoHUHJvamVjdBIOVXBkYXRlIHByb2plY3QaF1VwZGF0ZXMgYSBwcm9qZWN0IGJ5IElEgtPkkwIeGhYvdjFiZXRhMS9wcm9qZWN0cy97aWR9OgRib2R5EvMBChFMaXN0UHJvamVjdEFkbWlucxIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RBZG1pbnNSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdEFkbWluc1Jlc3BvbnNlInOSQUsKB1Byb2plY3QSE0xpc3QgcHJvamVjdCBhZG1pbnMaK1JldHVybnMgYSBjb2xsZWN0aW9uIG9mIGFkbWlucyBvZiBhIHByb2plY3SC0+STAh8SHS92MWJldGExL3Byb2plY3RzL3tpZH0vYWRtaW5zEpgCChBMaXN0UHJvamVjdFVzZXJzEjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFVzZXJzUmVxdWVzdBozLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RVc2Vyc1Jlc3BvbnNlIpoBkkFzCgdQcm9qZWN0EhJMaXN0IHByb2plY3QgdXNlcnMaVFJldHVybnMgYSBjb2xsZWN0aW9uIG9mIHVzZXJzIG9mIGEgcHJvamVjdC4gRmlsdGVyIGJ5IHVzZXIgcGVybWlzc2lvbnMgaXMgc3VwcG9ydGVkLoLT5JMCHhIcL3YxYmV0YTEvcHJvamVjdHMve2lkfS91c2VycxKRAgoXTGlzdFByb2plY3RTZXJ2aWNlVXNlcnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0U2VydmljZVVzZXJzUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RTZXJ2aWNlVXNlcnNSZXNwb25zZSJ/kkFRCgdQcm9qZWN0EhlMaXN0IHByb2plY3Qgc2VydmljZXVzZXJzGitSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiB1c2VycyBvZiBhIHByb2plY3QugtPkkwIlEiMvdjFiZXRhMS9wcm9qZWN0cy97aWR9L3NlcnZpY2V1c2VycxL0AQoRTGlzdFByb2plY3RHcm91cHMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0R3JvdXBzUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RHcm91cHNSZXNwb25zZSJ0kkFMCgdQcm9qZWN0EhNMaXN0IHByb2plY3QgZ3JvdXBzGixSZXR1cm5zIGEgY29sbGVjdGlvbiBvZiBncm91cHMgb2YgYSBwcm9qZWN0LoLT5JMCHxIdL3YxYmV0YTEvcHJvamVjdHMve2lkfS9ncm91cHMSuAEKDUVuYWJsZVByb2plY3QSLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZVByb2plY3RSZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5FbmFibGVQcm9qZWN0UmVzcG9uc2UiRJJBGQoHUHJvamVjdBIORW5hYmxlIHByb2plY3SC0+STAiIiHS92MWJldGExL3Byb2plY3RzL3tpZH0vZW5hYmxlOgEqEr0BCg5EaXNhYmxlUHJvamVjdBIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGlzYWJsZVByb2plY3RSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EaXNhYmxlUHJvamVjdFJlc3BvbnNlIkaSQRoKB1Byb2plY3QSD0Rpc2FibGUgcHJvamVjdILT5JMCIyIeL3YxYmV0YTEvcHJvamVjdHMve2lkfS9kaXNhYmxlOgEqEuIBCg1EZWxldGVQcm9qZWN0Ei8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQcm9qZWN0UmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc3BvbnNlIm6SQU0KB1Byb2plY3QSDkRlbGV0ZSBQcm9qZWN0GjJEZWxldGUgYSBwcm9qZWN0IGFsbCBvZiBpdHMgcmVsYXRpb25zIHBlcm1hbmVudGx5LoLT5JMCGCoWL3YxYmV0YTEvcHJvamVjdHMve2lkfRK9AQoMQ3JlYXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lSZXNwb25zZSJMkkEqCgZQb2xpY3kSDUNyZWF0ZSBwb2xpY3kaEUNyZWF0ZXMgYSBwb2xpY3kggtPkkwIZIhEvdjFiZXRhMS9wb2xpY2llczoEYm9keRK1AQoJR2V0UG9saWN5EisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQb2xpY3lSZXNwb25zZSJNkkEsCgZQb2xpY3kSCkdldCBwb2xpY3kaFlJldHVybnMgYSBwb2xpY3kgYnkgSUSC0+STAhgSFi92MWJldGExL3BvbGljaWVzL3tpZH0SuQIKDExpc3RQb2xpY2llcxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBvbGljaWVzUmVzcG9uc2UixwGSQaoBCgZQb2xpY3kSEUxpc3QgYWxsIHBvbGljaWVzGowBTGlzdHMgYWxsIHRoZSBwb2xpY2llcyBmcm9tIGFsbCB0aGUgb3JnYW5pemF0aW9ucyBpbiBhIEZyb250aWVyIGluc3RhbmNlLiBJdCBjYW4gYmUgZmlsdGVyZWQgYnkgb3JnYW5pemF0aW9uLCBwcm9qZWN0LCB1c2VyLCByb2xlIGFuZCBncm91cC6C0+STAhMSES92MWJldGExL3BvbGljaWVzEscBCgxVcGRhdGVQb2xpY3kSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBvbGljeVJlc3BvbnNlIlaSQS8KBlBvbGljeRINVXBkYXRlIHBvbGljeRoWVXBkYXRlcyBhIHBvbGljeSBieSBJRILT5JMCHhoWL3YxYmV0YTEvcG9saWNpZXMve2lkfToEYm9keRLcAQoMRGVsZXRlUG9saWN5Ei4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVQb2xpY3lSZXNwb25zZSJrkkFKCgZQb2xpY3kSDURlbGV0ZSBQb2xpY3kaMURlbGV0ZSBhIHBvbGljeSBhbGwgb2YgaXRzIHJlbGF0aW9ucyBwZXJtYW5lbnRseS6C0+STAhgqFi92MWJldGExL3BvbGljaWVzL3tpZH0SiQIKFkNyZWF0ZVBvbGljeUZvclByb2plY3QSOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBvbGljeUZvclByb2plY3RSZXF1ZXN0GjkucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQb2xpY3lGb3JQcm9qZWN0UmVzcG9uc2UiepJBQgoGUG9saWN5EhlDcmVhdGUgUG9saWN5IGZvciBQcm9qZWN0Gh1DcmVhdGUgYSBwb2xpY3kgZm9yIGEgcHJvamVjdILT5JMCLyInL3YxYmV0YTEvcG9saWNpZXMvcHJvamVjdHMve3Byb2plY3RfaWR9OgRib2R5ErUBCg5DcmVhdGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVSZWxhdGlvblJlc3BvbnNlIj6SQRsKCFJlbGF0aW9uEg9DcmVhdGUgcmVsYXRpb26C0+STAhoiEi92MWJldGExL3JlbGF0aW9uczoEYm9keRLCAQoLR2V0UmVsYXRpb24SLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFJlbGF0aW9uUmVxdWVzdBouLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UmVsYXRpb25SZXNwb25zZSJUkkEyCghSZWxhdGlvbhIMR2V0IHJlbGF0aW9uGhhSZXR1cm5zIGEgcmVsYXRpb24gYnkgSUSC0+STAhkSFy92MWJldGExL3JlbGF0aW9ucy97aWR9EpACCg5EZWxldGVSZWxhdGlvbhIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUmVsYXRpb25SZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVSZWxhdGlvblJlc3BvbnNlIpgBkkFOCghSZWxhdGlvbhIPRGVsZXRlIHJlbGF0aW9uGjFSZW1vdmUgYSBzdWJqZWN0IGhhdmluZyBhIHJlbGF0aW9uIGZyb20gYW4gb2JqZWN0gtPkkwJBKj8vdjFiZXRhMS9yZWxhdGlvbnMve3JlbGF0aW9ufS9vYmplY3Qve29iamVjdH0vc3ViamVjdC97c3ViamVjdH0SugEKD0xpc3RQZXJtaXNzaW9ucxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFBlcm1pc3Npb25zUmVzcG9uc2UiQJJBIQoKUGVybWlzc2lvbhITR2V0IGFsbCBwZXJtaXNzaW9uc4LT5JMCFhIUL3YxYmV0YTEvcGVybWlzc2lvbnMS0AEKDUdldFBlcm1pc3Npb24SLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBlcm1pc3Npb25SZXF1ZXN0GjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQZXJtaXNzaW9uUmVzcG9uc2UiXJJBOAoKUGVybWlzc2lvbhIOR2V0IHBlcm1pc3Npb24aGlJldHVybnMgYSBwZXJtaXNzaW9uIGJ5IElEgtPkkwIbEhkvdjFiZXRhMS9wZXJtaXNzaW9ucy97aWR9Eu8BCg5MaXN0TmFtZXNwYWNlcxIwLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE5hbWVzcGFjZXNSZXF1ZXN0GjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0TmFtZXNwYWNlc1Jlc3BvbnNlIniSQVoKCU5hbWVzcGFjZRISR2V0IGFsbCBuYW1lc3BhY2VzGjlSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBuYW1lc3BhY2VzIGluIGEgRnJvbnRpZXIgaW5zdGFuY2WC0+STAhUSEy92MWJldGExL25hbWVzcGFjZXMSyQEKDEdldE5hbWVzcGFjZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TmFtZXNwYWNlUmVzcG9uc2UiWJJBNQoJTmFtZXNwYWNlEg1HZXQgbmFtZXNwYWNlGhlSZXR1cm5zIGEgbmFtZXNwYWNlIGJ5IElEgtPkkwIaEhgvdjFiZXRhMS9uYW1lc3BhY2VzL3tpZH0S2QEKFExpc3RQcm9qZWN0UmVzb3VyY2VzEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvamVjdFJlc291cmNlc1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UmVzb3VyY2VzUmVzcG9uc2UiUJJBHQoIUmVzb3VyY2USEUdldCBhbGwgcmVzb3VyY2VzgtPkkwIqEigvdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzEoECChVDcmVhdGVQcm9qZWN0UmVzb3VyY2USNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RSZXNvdXJjZVJlc3BvbnNlInWSQTwKCFJlc291cmNlEg9DcmVhdGUgcmVzb3VyY2UaH0NyZWF0ZXMgYSByZXNvdXJjZSBpbiBhIHByb2plY3SC0+STAjAiKC92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXM6BGJvZHkS9QEKEkdldFByb2plY3RSZXNvdXJjZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvamVjdFJlc291cmNlUmVzcG9uc2UicpJBOgoIUmVzb3VyY2USDEdldCByZXNvdXJjZRogUmV0dXJucyBhIHByb2plY3QgcmVzb3VyY2UgYnkgSUSC0+STAi8SLS92MWJldGExL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZXNvdXJjZXMve2lkfRKGAgoVVXBkYXRlUHJvamVjdFJlc291cmNlEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQcm9qZWN0UmVzb3VyY2VSZXNwb25zZSJ6kkE8CghSZXNvdXJjZRIPVXBkYXRlIHJlc291cmNlGh9VcGRhdGVzIGEgcmVzb3VyY2UgaW4gYSBwcm9qZWN0gtPkkwI1Gi0vdjFiZXRhMS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVzb3VyY2VzL3tpZH06BGJvZHkSjwIKFURlbGV0ZVByb2plY3RSZXNvdXJjZRI3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVxdWVzdBo4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlUHJvamVjdFJlc291cmNlUmVzcG9uc2UiggGSQUoKCFJlc291cmNlEg9EZWxldGUgcmVzb3VyY2UaLURlbGV0ZXMgYSByZXNvdXJjZSBmcm9tIGEgcHJvamVjdCBwZXJtYW5lbnRseYLT5JMCLyotL3YxYmV0YTEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Jlc291cmNlcy97aWR9EvsDChdDaGVja1Jlc291cmNlUGVybWlzc2lvbhI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tSZXNvdXJjZVBlcm1pc3Npb25SZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja1Jlc291cmNlUGVybWlzc2lvblJlc3BvbnNlIugCkkHLAgoFQXV0aHoSBUNoZWNrGroCUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LiBGcm9udGllciB3aWxsIGV4dHJhY3QgcHJpbmNpcGFsIGZyb20gdGhlIGN1cnJlbnQgbG9nZ2VkIGluIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbi6C0+STAhMiDi92MWJldGExL2NoZWNrOgEqErMEChRCYXRjaENoZWNrUGVybWlzc2lvbhI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmF0Y2hDaGVja1Blcm1pc3Npb25SZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CYXRjaENoZWNrUGVybWlzc2lvblJlc3BvbnNlIqkDkkGHAwoFQXV0aHoSC0JhdGNoIGNoZWNrGvACUmV0dXJucyB0cnVlIGlmIGEgcHJpbmNpcGFsIGhhcyByZXF1aXJlZCBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgYSByZXNvdXJjZSBhbmQgZmFsc2Ugb3RoZXJ3aXNlLjxici8+IE5vdGUgdGhlIHByaW5jaXBhbCBjYW4gYmUgYSB1c2VyIG9yIGEgc2VydmljZSBhY2NvdW50LCBhbmQgRnJvbnRpZXIgd2lsbCB0aGUgY3JlZGVudGlhbHMgZnJvbSB0aGUgY3VycmVudCBsb2dnZWQgaW4gcHJpbmNpcGFsIGZyb20gdGhlIHNlc3Npb24gY29va2llIChpZiBhbnkpLCBvciB0aGUgY2xpZW50IGlkIGFuZCBzZWNyZXQgKGluIGNhc2Ugb2Ygc2VydmljZSB1c2Vycykgb3IgdGhlIGFjY2VzcyB0b2tlbiAoaW4gY2FzZSBvZiBodW1hbiB1c2VyIGFjY291bnRzKS6C0+STAhgiEy92MWJldGExL2JhdGNoY2hlY2s6ASoStQEKB0dldEpXS3MSKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEpXS3NSZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRKV0tzUmVzcG9uc2UiU5JBHAoFQXV0aHoSE0dldCB3ZWxsIGtub3duIEpXS3OC0+STAi4SEi92MWJldGExL2F1dGgvandrc1oYEhYvLndlbGwta25vd24vandrcy5qc29uEnEKDExpc3RTZXNzaW9ucxIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlc3Npb25zUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFNlc3Npb25zUmVzcG9uc2UiABJ0Cg1SZXZva2VTZXNzaW9uEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZXZva2VTZXNzaW9uUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmV2b2tlU2Vzc2lvblJlc3BvbnNlIgASegoPUGluZ1VzZXJTZXNzaW9uEjEucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QaW5nVXNlclNlc3Npb25SZXF1ZXN0GjIucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5QaW5nVXNlclNlc3Npb25SZXNwb25zZSIAErcCChJMaXN0QXV0aFN0cmF0ZWdpZXMSNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1JlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RBdXRoU3RyYXRlZ2llc1Jlc3BvbnNlIrMBkkGaAQoFQXV0aG4SHkxpc3QgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcxpxUmV0dXJucyBhIGxpc3Qgb2YgaWRlbnRpdHkgcHJvdmlkZXJzIGNvbmZpZ3VyZWQgb24gYW4gaW5zdGFuY2UgbGV2ZWwgaW4gRnJvbnRpZXIuIGUuZyBHb29nbGUsIEF6dXJlQUQsIEdpdGh1YiBldGOC0+STAg8SDS92MWJldGExL2F1dGgS6QQKDEF1dGhlbnRpY2F0ZRIuLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVxdWVzdBovLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aGVudGljYXRlUmVzcG9uc2Ui9wOSQZgDCgVBdXRobhIcQXV0aGVudGljYXRlIHdpdGggYSBzdHJhdGVneRrwAkF1dGhlbnRpY2F0ZSBhIHVzZXIgd2l0aCBhIHN0cmF0ZWd5LiBCeSBkZWZhdWx0LCBhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uIG5vIG9wZXJhdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCB0byBhcHBseSByZWRpcmVjdGlvbiBpbiBjYXNlIG9mIGJyb3dzZXJzLCBwcm92aWRlIGEgdXJsIGluIHRoZSBhdXRoZW50aWNhdGUgcmVxdWVzdCBib2R5IHRoYXQgd2lsbCBiZSB1c2VkIGZvciByZWRpcmVjdGlvbiBhZnRlciBhdXRoZW50aWNhdGlvbi4gQWxzbyBzZXQgcmVkaXJlY3QgYXMgdHJ1ZSBmb3IgcmVkaXJlY3RpbmcgdGhlIHVzZXIgcmVxdWVzdCB0byB0aGUgcmVkaXJlY3RfdXJsIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24ugtPkkwJVEiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfVorIiYvdjFiZXRhMS9hdXRoL3JlZ2lzdGVyL3tzdHJhdGVneV9uYW1lfToBKhK9BAoMQXV0aENhbGxiYWNrEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoQ2FsbGJhY2tSZXNwb25zZSLLA5JBjAMKBUF1dGhuEhhDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3ka6AJDYWxsYmFjayBmcm9tIGEgc3RyYXRlZ3kuIFRoaXMgaXMgdGhlIGVuZHBvaW50IHdoZXJlIHRoZSBzdHJhdGVneSB3aWxsIHJlZGlyZWN0IHRoZSB1c2VyIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0aGVudGljYXRpb24uIFRoaXMgZW5kcG9pbnQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgY29kZSBhbmQgc3RhdGUgcXVlcnkgcGFyYW1ldGVycy4gVGhlIGNvZGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgYWNjZXNzIHRva2VuIGZyb20gdGhlIHN0cmF0ZWd5IGFuZCB0aGUgc3RhdGUgd2lsbCBiZSB1c2VkIHRvIGdldCB0aGUgcmV0dXJuX3RvIHVybCBmcm9tIHRoZSBzZXNzaW9uIGFuZCByZWRpcmVjdCB0aGUgdXNlciB0byB0aGF0IHVybC6C0+STAjUSFi92MWJldGExL2F1dGgvY2FsbGJhY2taGyIWL3YxYmV0YTEvYXV0aC9jYWxsYmFjazoBKhLCAwoJQXV0aFRva2VuEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5BdXRoVG9rZW5SZXNwb25zZSLZApJBtwIKBUF1dGhuEipHZW5lcmF0ZSBhY2Nlc3MgdG9rZW4gYnkgZ2l2ZW4gY3JlZGVudGlhbHMagQJBY2Nlc3MgdG9rZW4gY2FuIGJlIGdlbmVyYXRlZCBieSBwcm92aWRpbmcgdGhlIGNyZWRlbnRpYWxzIGluIHRoZSByZXF1ZXN0IGJvZHkvaGVhZGVyLiBUaGUgY3JlZGVudGlhbHMgY2FuIGJlIGNsaWVudCBpZCBhbmQgc2VjcmV0IG9yIHNlcnZpY2UgYWNjb3VudCBnZW5lcmF0ZWQga2V5IGp3dC4gVXNlIHRoZSBnZW5lcmF0ZWQgYWNjZXNzIHRva2VuIGluIEF1dGhvcml6YXRpb24gaGVhZGVyIHRvIGFjY2VzcyB0aGUgZnJvbnRpZXIgcmVzb3VyY2VzLoLT5JMCGCITL3YxYmV0YTEvYXV0aC90b2tlbjoBKhLBAQoKQXV0aExvZ291dBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQXV0aExvZ291dFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkF1dGhMb2dvdXRSZXNwb25zZSJWkkEfCgVBdXRobhIWTG9nb3V0IGZyb20gYSBzdHJhdGVneYLT5JMCLhIUL3YxYmV0YTEvYXV0aC9sb2dvdXRaFioUL3YxYmV0YTEvYXV0aC9sb2dvdXQSrgIKD0xpc3RNZXRhU2NoZW1hcxIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdE1ldGFTY2hlbWFzUmVzcG9uc2UiswGSQZIBCgpNZXRhU2NoZW1hEhBMaXN0IG1ldGFzY2hlbWFzGnJSZXR1cm5zIGEgbGlzdCBvZiBhbGwgbWV0YXNjaGVtYXMgY29uZmlndXJlZCBvbiBhbiBpbnN0YW5jZSBsZXZlbCBpbiBGcm9udGllci4gZS5nIHVzZXIsIHByb2plY3QsIG9yZ2FuaXphdGlvbiBldGOC0+STAhcSFS92MWJldGExL21ldGEvc2NoZW1hcxKfBQoQQ3JlYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU1ldGFTY2hlbWFSZXNwb25zZSKhBJJB+gMKCk1ldGFTY2hlbWESEUNyZWF0ZSBtZXRhc2NoZW1hGtgDQ3JlYXRlIGEgbmV3IG1ldGFkYXRhIHNjaGVtYS4gVGhlIG1ldGFzY2hlbWEgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBlbnRpcmUgRnJvbnRpZXIgaW5zdGFuY2UgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMuIFRoZSBtZXRhc2NoZW1hICoqc2NoZW1hKiogbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCHSIVL3YxYmV0YTEvbWV0YS9zY2hlbWFzOgRib2R5EtMBCg1HZXRNZXRhU2NoZW1hEi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRNZXRhU2NoZW1hUmVxdWVzdBowLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0TWV0YVNjaGVtYVJlc3BvbnNlIl+SQToKCk1ldGFTY2hlbWESDkdldCBtZXRhc2NoZW1hGhxHZXQgYSBtZXRhZGF0YSBzY2hlbWEgYnkgSUQugtPkkwIcEhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRLBBAoQVXBkYXRlTWV0YVNjaGVtYRIyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlTWV0YVNjaGVtYVJlcXVlc3QaMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZU1ldGFTY2hlbWFSZXNwb25zZSLDA5JBlwMKCk1ldGFTY2hlbWESEVVwZGF0ZSBtZXRhc2NoZW1hGvUCVXBkYXRlIGEgbWV0YWRhdGEgc2NoZW1hLiBPbmx5IGBzY2hlbWFgIGZpZWxkIG9mIGEgbWV0YXNjaGVtYSBjYW4gYmUgdXBkYXRlZC4gVGhlIG1ldGFzY2hlbWEgYHNjaGVtYWAgbXVzdCBiZSBhIHZhbGlkIEpTT04gc2NoZW1hLlBsZWFzZSByZWZlciB0byBodHRwczovL2pzb24tc2NoZW1hLm9yZy8gdG8ga25vdyBtb3JlIGFib3V0IGpzb24gc2NoZW1hLiA8YnIvPipFeGFtcGxlOiogYHtuYW1lOiJ1c2VyIixzY2hlbWE6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJsYWJlbCI6eyJ0eXBlIjoib2JqZWN0IiwiYWRkaXRpb25hbFByb3BlcnRpZXMiOnsidHlwZSI6InN0cmluZyJ9fSwiZGVzY3JpcHRpb24iOnsidHlwZSI6InN0cmluZyJ9fX19YILT5JMCIhoaL3YxYmV0YTEvbWV0YS9zY2hlbWFzL3tpZH06BGJvZHkS4wQKEERlbGV0ZU1ldGFTY2hlbWESMi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZU1ldGFTY2hlbWFSZXF1ZXN0GjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5EZWxldGVNZXRhU2NoZW1hUmVzcG9uc2Ui5QOSQb8DCgpNZXRhU2NoZW1hEhFEZWxldGUgbWV0YXNjaGVtYRqdA0RlbGV0ZSBhIG1ldGFkYXRhIHNjaGVtYSBwZXJtYW5lbnRseS4gT25jZSBkZWxldGVkIHRoZSBtZXRhc2NoZW1hIHdvbid0IGJlIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgaWYgYSBtZXRhc2NoZW1hKHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMpIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhlIG1ldGFkYXRhIG9mIGEgdXNlciwgdGhlbiBkZWxldGluZyB0aGUgbWV0YXNjaGVtYSB3aWxsIG5vdCB2YWxpZGF0ZSB0aGUgbWV0YWRhdGEgb2YgdGhlIHVzZXIgYW5kIG1ldGFkYXRhIGZpZWxkIGNhbiBjb250YWluIGFueSBrZXktdmFsdWUgcGFpcihhbmQgc2F5IGFub3RoZXIgZmllbGQgY2FsbGVkIGBmb29gIGNhbiBiZSBpbnNlcnRlZCBpbiBhIHVzZXIncyBtZXRhZGF0YSkugtPkkwIcKhovdjFiZXRhMS9tZXRhL3NjaGVtYXMve2lkfRKJAgoTRGVzY3JpYmVQcmVmZXJlbmNlcxI1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVzY3JpYmVQcmVmZXJlbmNlc1JlcXVlc3QaNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlc2NyaWJlUHJlZmVyZW5jZXNSZXNwb25zZSKCAZJBXAoKUHJlZmVyZW5jZRIURGVzY3JpYmUgcHJlZmVyZW5jZXMaOFJldHVybnMgYSBsaXN0IG9mIGFsbCBwcmVmZXJlbmNlcyBzdXBwb3J0ZWQgYnkgRnJvbnRpZXIugtPkkwIdEhsvdjFiZXRhMS9wcmVmZXJlbmNlcy90cmFpdHMSxAMKHUNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzEj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVPcmdhbml6YXRpb25QcmVmZXJlbmNlc1JlcXVlc3QaQC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZU9yZ2FuaXphdGlvblByZWZlcmVuY2VzUmVzcG9uc2UinwKSQekBCgpQcmVmZXJlbmNlEh9DcmVhdGUgb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzGrkBQ3JlYXRlIGEgbmV3IG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcy4gVGhlIG9yZ2FuaXphdGlvbiBwcmVmZXJlbmNlcyAqKm5hbWUqKiBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIG9yZ2FuaXphdGlvbiBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiwiJy92MWJldGExL29yZ2FuaXphdGlvbnMve2lkfS9wcmVmZXJlbmNlczoBKhKlAgobTGlzdE9yZ2FuaXphdGlvblByZWZlcmVuY2VzEj0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXF1ZXN0Gj4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0T3JnYW5pemF0aW9uUHJlZmVyZW5jZXNSZXNwb25zZSKGAZJBVAoKUHJlZmVyZW5jZRIdTGlzdCBvcmdhbml6YXRpb24gcHJlZmVyZW5jZXMaJ0xpc3QgYW4gb3JnYW5pemF0aW9uIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCKRInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97aWR9L3ByZWZlcmVuY2VzEpwDChhDcmVhdGVQcm9qZWN0UHJlZmVyZW5jZXMSOi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QaOy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2plY3RQcmVmZXJlbmNlc1Jlc3BvbnNlIoYCkkHVAQoKUHJlZmVyZW5jZRIaQ3JlYXRlIHByb2plY3QgcHJlZmVyZW5jZXMaqgFDcmVhdGUgYSBuZXcgcHJvamVjdCBwcmVmZXJlbmNlcy4gVGhlIHByb2plY3QgcHJlZmVyZW5jZXMgKipuYW1lKiogbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBwcm9qZWN0IGFuZCBjYW4gY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLCBkYXNoZXMgYW5kIHVuZGVyc2NvcmVzLoLT5JMCJyIiL3YxYmV0YTEvcHJvamVjdHMve2lkfS9wcmVmZXJlbmNlczoBKhKFAgoWTGlzdFByb2plY3RQcmVmZXJlbmNlcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFByb2plY3RQcmVmZXJlbmNlc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RQcm9qZWN0UHJlZmVyZW5jZXNSZXNwb25zZSJ2kkFJCgpQcmVmZXJlbmNlEhhMaXN0IHByb2plY3QgcHJlZmVyZW5jZXMaIUxpc3QgYSBwcm9qZWN0IHByZWZlcmVuY2VzIGJ5IElELoLT5JMCJBIiL3YxYmV0YTEvcHJvamVjdHMve2lkfS9wcmVmZXJlbmNlcxKMAwoWQ3JlYXRlR3JvdXBQcmVmZXJlbmNlcxI4LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlR3JvdXBQcmVmZXJlbmNlc1JlcXVlc3QaOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZSL8AZJBzQEKClByZWZlcmVuY2USGENyZWF0ZSBncm91cCBwcmVmZXJlbmNlcxqkAUNyZWF0ZSBhIG5ldyBncm91cCBwcmVmZXJlbmNlcy4gVGhlIGdyb3VwIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgZ3JvdXAgYW5kIGNhbiBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMugtPkkwIlIiAvdjFiZXRhMS9ncm91cHMve2lkfS9wcmVmZXJlbmNlczoBKhL5AQoUTGlzdEdyb3VwUHJlZmVyZW5jZXMSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RHcm91cFByZWZlcmVuY2VzUmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEdyb3VwUHJlZmVyZW5jZXNSZXNwb25zZSJwkkFFCgpQcmVmZXJlbmNlEhZMaXN0IGdyb3VwIHByZWZlcmVuY2VzGh9MaXN0IGEgZ3JvdXAgcHJlZmVyZW5jZXMgYnkgSUQugtPkkwIiEiAvdjFiZXRhMS9ncm91cHMve2lkfS9wcmVmZXJlbmNlcxKEAwoVQ3JlYXRlVXNlclByZWZlcmVuY2VzEjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0GjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVVc2VyUHJlZmVyZW5jZXNSZXNwb25zZSL3AZJByQEKClByZWZlcmVuY2USF0NyZWF0ZSB1c2VyIHByZWZlcmVuY2VzGqEBQ3JlYXRlIGEgbmV3IHVzZXIgcHJlZmVyZW5jZXMuIFRoZSB1c2VyIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgdXNlciBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiQiHy92MWJldGExL3VzZXJzL3tpZH0vcHJlZmVyZW5jZXM6ASoS8wEKE0xpc3RVc2VyUHJlZmVyZW5jZXMSNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0GjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0VXNlclByZWZlcmVuY2VzUmVzcG9uc2UibZJBQwoKUHJlZmVyZW5jZRIVTGlzdCB1c2VyIHByZWZlcmVuY2VzGh5MaXN0IGEgdXNlciBwcmVmZXJlbmNlcyBieSBJRC6C0+STAiESHy92MWJldGExL3VzZXJzL3tpZH0vcHJlZmVyZW5jZXMSoQMKHENyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXMSPi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUN1cnJlbnRVc2VyUHJlZmVyZW5jZXNSZXF1ZXN0Gj8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2Ui/wGSQdEBCgpQcmVmZXJlbmNlEh9DcmVhdGUgY3VycmVudCB1c2VyIHByZWZlcmVuY2VzGqEBQ3JlYXRlIGEgbmV3IHVzZXIgcHJlZmVyZW5jZXMuIFRoZSB1c2VyIHByZWZlcmVuY2VzICoqbmFtZSoqIG11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgdXNlciBhbmQgY2FuIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycywgZGFzaGVzIGFuZCB1bmRlcnNjb3Jlcy6C0+STAiQiHy92MWJldGExL3VzZXJzL3NlbGYvcHJlZmVyZW5jZXM6ASoSkAIKGkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzEjwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0Q3VycmVudFVzZXJQcmVmZXJlbmNlc1JlcXVlc3QaPS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDdXJyZW50VXNlclByZWZlcmVuY2VzUmVzcG9uc2UidZJBSwoKUHJlZmVyZW5jZRIdTGlzdCBjdXJyZW50IHVzZXIgcHJlZmVyZW5jZXMaHkxpc3QgYSB1c2VyIHByZWZlcmVuY2VzIGJ5IElELoLT5JMCIRIfL3YxYmV0YTEvdXNlcnMvc2VsZi9wcmVmZXJlbmNlcxKTAgoUQ3JlYXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSKJAZJBVAoHQmlsbGluZxIWQ3JlYXRlIGJpbGxpbmcgYWNjb3VudBoxQ3JlYXRlIGEgbmV3IGJpbGxpbmcgYWNjb3VudCBmb3IgYW4gb3JnYW5pemF0aW9uLoLT5JMCLCInL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nOgEqEvMBChFHZXRCaWxsaW5nQWNjb3VudBIzLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0FjY291bnRSZXF1ZXN0GjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRCaWxsaW5nQWNjb3VudFJlc3BvbnNlInOSQTwKB0JpbGxpbmcSE0dldCBiaWxsaW5nIGFjY291bnQaHEdldCBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAi4SLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9EoUCChRVcGRhdGVCaWxsaW5nQWNjb3VudBI2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlQmlsbGluZ0FjY291bnRSZXF1ZXN0GjcucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlInySQUIKB0JpbGxpbmcSFlVwZGF0ZSBiaWxsaW5nIGFjY291bnQaH1VwZGF0ZSBhIGJpbGxpbmcgYWNjb3VudCBieSBJRC6C0+STAjEaLC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9OgEqEsECChZSZWdpc3RlckJpbGxpbmdBY2NvdW50EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5SZWdpc3RlckJpbGxpbmdBY2NvdW50UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuUmVnaXN0ZXJCaWxsaW5nQWNjb3VudFJlc3BvbnNlIrEBkkFuCgdCaWxsaW5nEiRSZWdpc3RlciBiaWxsaW5nIGFjY291bnQgdG8gcHJvdmlkZXIaPVJlZ2lzdGVyIGEgYmlsbGluZyBhY2NvdW50IHRvIGEgcHJvdmlkZXIgaWYgaXQncyBub3QgYWxyZWFkeS6C0+STAjoiNS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97aWR9L3JlZ2lzdGVyOgEqEoMCChNMaXN0QmlsbGluZ0FjY291bnRzEjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0QmlsbGluZ0FjY291bnRzUmVxdWVzdBo2LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdBY2NvdW50c1Jlc3BvbnNlIn2SQUsKB0JpbGxpbmcSFUxpc3QgYmlsbGluZyBhY2NvdW50cxopTGlzdCBiaWxsaW5nIGFjY291bnRzIG9mIGFuIG9yZ2FuaXphdGlvbi6C0+STAikSJy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZxKCAgoURGVsZXRlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRlbGV0ZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRGVsZXRlQmlsbGluZ0FjY291bnRSZXNwb25zZSJ5kkFCCgdCaWxsaW5nEhZEZWxldGUgYmlsbGluZyBhY2NvdW50Gh9EZWxldGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQugtPkkwIuKiwvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2lkfRKNAgoURW5hYmxlQmlsbGluZ0FjY291bnQSNi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkVuYWJsZUJpbGxpbmdBY2NvdW50UmVxdWVzdBo3LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuRW5hYmxlQmlsbGluZ0FjY291bnRSZXNwb25zZSKDAZJBQgoHQmlsbGluZxIWRW5hYmxlIGJpbGxpbmcgYWNjb3VudBofRW5hYmxlIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCOCIzL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vZW5hYmxlOgEqEukCChVEaXNhYmxlQmlsbGluZ0FjY291bnQSNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVCaWxsaW5nQWNjb3VudFJlcXVlc3QaOC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkRpc2FibGVCaWxsaW5nQWNjb3VudFJlc3BvbnNlItwBkkGZAQoHQmlsbGluZxIXRGlzYWJsZSBiaWxsaW5nIGFjY291bnQadURpc2FibGUgYSBiaWxsaW5nIGFjY291bnQgYnkgSUQuIERpc2FibGluZyBhIGJpbGxpbmcgYWNjb3VudCBkb2Vzbid0IGF1dG9tYXRpY2FsbHkgZGlzYWJsZSBpdCdzIGFjdGl2ZSBzdWJzY3JpcHRpb25zLoLT5JMCOSI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vZGlzYWJsZToBKhKLAgoRR2V0QmlsbGluZ0JhbGFuY2USMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEJpbGxpbmdCYWxhbmNlUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0QmlsbGluZ0JhbGFuY2VSZXNwb25zZSKKAZJBSwoHQmlsbGluZxITR2V0IGJpbGxpbmcgYmFsYW5jZRorR2V0IHRoZSBiYWxhbmNlIG9mIGEgYmlsbGluZyBhY2NvdW50IGJ5IElELoLT5JMCNhI0L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vYmFsYW5jZRL6AQoKSGFzVHJpYWxlZBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuSGFzVHJpYWxlZFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkhhc1RyaWFsZWRSZXNwb25zZSKOAZJBPwoHQmlsbGluZxILSGFzIHRyaWFsZWQaJ0NoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGhhcyB0cmlhbGVkLoLT5JMCRhJEL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tpZH0vcGxhbnMve3BsYW5faWR9L3RyaWFsZWQSxwIKD0dldFN1YnNjcmlwdGlvbhIxLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U3Vic2NyaXB0aW9uUmVxdWVzdBoyLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0U3Vic2NyaXB0aW9uUmVzcG9uc2UizAGSQTsKDFN1YnNjcmlwdGlvbhIQR2V0IHN1YnNjcmlwdGlvbhoZR2V0IGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMChwESRy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9WjwSOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy9zdWJzY3JpcHRpb25zL3tpZH0S6gIKEkNhbmNlbFN1YnNjcmlwdGlvbhI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2FuY2VsU3Vic2NyaXB0aW9uUmVzcG9uc2Ui5gGSQUEKDFN1YnNjcmlwdGlvbhITQ2FuY2VsIHN1YnNjcmlwdGlvbhocQ2FuY2VsIGEgc3Vic2NyaXB0aW9uIGJ5IElELoLT5JMCmwEiTi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9L2NhbmNlbDoBKlpGIkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9L2NhbmNlbDoBKhLTAgoRTGlzdFN1YnNjcmlwdGlvbnMSMy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RTdWJzY3JpcHRpb25zUmVxdWVzdBo0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdFN1YnNjcmlwdGlvbnNSZXNwb25zZSLSAZJBTAoMU3Vic2NyaXB0aW9uEhJMaXN0IHN1YnNjcmlwdGlvbnMaKExpc3Qgc3Vic2NyaXB0aW9ucyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAn0SQi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9uc1o3EjUvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucxL0AgoSQ2hhbmdlU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGFuZ2VTdWJzY3JpcHRpb25SZXNwb25zZSLwAZJBSwoMU3Vic2NyaXB0aW9uEhhDaGFuZ2Ugc3Vic2NyaXB0aW9uIHBsYW4aIUNoYW5nZSBhIHN1YnNjcmlwdGlvbiBwbGFuIGJ5IElELoLT5JMCmwEiTi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vc3Vic2NyaXB0aW9ucy97aWR9L2NoYW5nZToBKlpGIkEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvc3Vic2NyaXB0aW9ucy97aWR9L2NoYW5nZToBKhLcAgoSVXBkYXRlU3Vic2NyaXB0aW9uEjQucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVTdWJzY3JpcHRpb25SZXF1ZXN0GjUucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVTdWJzY3JpcHRpb25SZXNwb25zZSLYAZJBQQoMU3Vic2NyaXB0aW9uEhNVcGRhdGUgc3Vic2NyaXB0aW9uGhxVcGRhdGUgYSBzdWJzY3JpcHRpb24gYnkgSUQugtPkkwKNARpHL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9zdWJzY3JpcHRpb25zL3tpZH06ASpaPyI6L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3N1YnNjcmlwdGlvbnMve2lkfToBKhLYAQoNQ3JlYXRlUHJvZHVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUHJvZHVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb2R1Y3RSZXNwb25zZSJkkkE9CgdQcm9kdWN0Eg5DcmVhdGUgcHJvZHVjdBoiQ3JlYXRlIGEgbmV3IHByb2R1Y3QgZm9yIHBsYXRmb3JtLoLT5JMCHiIZL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0czoBKhLAAQoKR2V0UHJvZHVjdBIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0UHJvZHVjdFJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFByb2R1Y3RSZXNwb25zZSJVkkEsCgdQcm9kdWN0EgtHZXQgcHJvZHVjdBoUR2V0IGEgcHJvZHVjdCBieSBJRC6C0+STAiASHi92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMve2lkfRLPAQoMTGlzdFByb2R1Y3RzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvZHVjdHNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UHJvZHVjdHNSZXNwb25zZSJekkE6CgdQcm9kdWN0Eg1MaXN0IHByb2R1Y3RzGiBMaXN0IGFsbCBwcm9kdWN0cyBvZiBhIHBsYXRmb3JtLoLT5JMCGxIZL3YxYmV0YTEvYmlsbGluZy9wcm9kdWN0cxLSAQoNVXBkYXRlUHJvZHVjdBIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlUHJvZHVjdFJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVByb2R1Y3RSZXNwb25zZSJekkEyCgdQcm9kdWN0Eg5VcGRhdGUgcHJvZHVjdBoXVXBkYXRlIGEgcHJvZHVjdCBieSBJRC6C0+STAiMaHi92MWJldGExL2JpbGxpbmcvcHJvZHVjdHMve2lkfToBKhLYAQoNQ3JlYXRlRmVhdHVyZRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlRmVhdHVyZVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUZlYXR1cmVSZXNwb25zZSJkkkE9CgdGZWF0dXJlEg5DcmVhdGUgZmVhdHVyZRoiQ3JlYXRlIGEgbmV3IGZlYXR1cmUgZm9yIHBsYXRmb3JtLoLT5JMCHiIZL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlczoBKhLAAQoKR2V0RmVhdHVyZRIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0RmVhdHVyZVJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldEZlYXR1cmVSZXNwb25zZSJVkkEsCgdGZWF0dXJlEgtHZXQgZmVhdHVyZRoUR2V0IGEgZmVhdHVyZSBieSBJRC6C0+STAiASHi92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMve2lkfRLSAQoNVXBkYXRlRmVhdHVyZRIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVXBkYXRlRmVhdHVyZVJlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZUZlYXR1cmVSZXNwb25zZSJekkEyCgdGZWF0dXJlEg5VcGRhdGUgZmVhdHVyZRoXVXBkYXRlIGEgZmVhdHVyZSBieSBJRC6C0+STAiMaHi92MWJldGExL2JpbGxpbmcvZmVhdHVyZXMve2lkfToBKhLAAQoMTGlzdEZlYXR1cmVzEi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0RmVhdHVyZXNSZXF1ZXN0Gi8ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0RmVhdHVyZXNSZXNwb25zZSJPkkErCgdGZWF0dXJlEg1MaXN0IGZlYXR1cmVzGhFMaXN0IGFsbCBmZWF0dXJlc4LT5JMCGxIZL3YxYmV0YTEvYmlsbGluZy9mZWF0dXJlcxLDAQoKQ3JlYXRlUGxhbhIsLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlUGxhblJlcXVlc3QaLS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVBsYW5SZXNwb25zZSJYkkE0CgRQbGFuEgtDcmVhdGUgcGxhbhofQ3JlYXRlIGEgbmV3IHBsYW4gZm9yIHBsYXRmb3JtLoLT5JMCGyIWL3YxYmV0YTEvYmlsbGluZy9wbGFuczoBKhKsAQoJTGlzdFBsYW5zEisucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGxhbnNSZXF1ZXN0GiwucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5MaXN0UGxhbnNSZXNwb25zZSJEkkEjCgRQbGFuEgpMaXN0IHBsYW5zGg9MaXN0IGFsbCBwbGFucy6C0+STAhgSFi92MWJldGExL2JpbGxpbmcvcGxhbnMSqwEKB0dldFBsYW4SKS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFBsYW5SZXF1ZXN0GioucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRQbGFuUmVzcG9uc2UiSZJBIwoEUGxhbhIIR2V0IHBsYW4aEUdldCBhIHBsYW4gYnkgSUQugtPkkwIdEhsvdjFiZXRhMS9iaWxsaW5nL3BsYW5zL3tpZH0SvQEKClVwZGF0ZVBsYW4SLC5yYXlzdGFjay5mcm9udGllci52MWJldGExLlVwZGF0ZVBsYW5SZXF1ZXN0Gi0ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5VcGRhdGVQbGFuUmVzcG9uc2UiUpJBKQoEUGxhbhILVXBkYXRlIHBsYW4aFFVwZGF0ZSBhIHBsYW4gYnkgSUQugtPkkwIgGhsvdjFiZXRhMS9iaWxsaW5nL3BsYW5zL3tpZH06ASoShQMKDkNyZWF0ZUNoZWNrb3V0EjAucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVDaGVja291dFJlcXVlc3QaMS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUNoZWNrb3V0UmVzcG9uc2UijQKSQYgBCghDaGVja291dBIiQ2hlY2tvdXQgYSBwcm9kdWN0IG9yIHN1YnNjcmlwdGlvbhpYQ2hlY2tvdXQgYSBwcm9kdWN0IHRvIGJ1eSBpdCBvbmUgdGltZSBvciBzdGFydCBhIHN1YnNjcmlwdGlvbiBwbGFuIG9uIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCeyI+L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS9jaGVja291dHM6ASpaNiIxL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0czoBKhK3AgoNTGlzdENoZWNrb3V0cxIvLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdENoZWNrb3V0c1JlcXVlc3QaMC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RDaGVja291dHNSZXNwb25zZSLCAZJBRAoIQ2hlY2tvdXQSDkxpc3QgY2hlY2tvdXRzGihMaXN0IGFsbCBjaGVja291dHMgb2YgYSBiaWxsaW5nIGFjY291bnQugtPkkwJ1Ej4vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2NoZWNrb3V0c1ozEjEvdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcvY2hlY2tvdXRzEqYCCgtHZXRDaGVja291dBItLnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuR2V0Q2hlY2tvdXRSZXF1ZXN0Gi4ucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5HZXRDaGVja291dFJlc3BvbnNlIrcBkkEvCghDaGVja291dBIMR2V0IGNoZWNrb3V0GhVHZXQgYSBjaGVja291dCBieSBJRC6C0+STAn8SQy92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2tvdXRzL3tpZH1aOBI2L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2NoZWNrb3V0cy97aWR9EtwCChdDaGVja0ZlYXR1cmVFbnRpdGxlbWVudBI5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tGZWF0dXJlRW50aXRsZW1lbnRSZXF1ZXN0GjoucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0ZlYXR1cmVFbnRpdGxlbWVudFJlc3BvbnNlIskBkkFWCgtFbnRpdGxlbWVudBIRQ2hlY2sgZW50aXRsZW1lbnQaNENoZWNrIGlmIGEgYmlsbGluZyBhY2NvdW50IGlzIGVudGl0bGVkIHRvIGEgZmVhdHVyZS6C0+STAmoiOi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vY2hlY2s6ASpaKSIkL3YxYmV0YTEvb3JnYW5pemF0aW9ucy9iaWxsaW5nL2NoZWNrOgEqEp8CChZDaGVja0NyZWRpdEVudGl0bGVtZW50EjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DaGVja0NyZWRpdEVudGl0bGVtZW50UmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ2hlY2tDcmVkaXRFbnRpdGxlbWVudFJlc3BvbnNlIo8BkkFrCgtFbnRpdGxlbWVudBIYQ2hlY2sgY3JlZGl0IGVudGl0bGVtZW50GkJDaGVjayBpZiBhIGJpbGxpbmcgYWNjb3VudCBoYXMgZW5vdWdoIGNyZWRpdHMgdG8gY292ZXIgdGhlIGFtb3VudC6C0+STAhsiFi92MWJldGExL2JpbGxpbmcvY2hlY2s6ASoSyQIKEkNyZWF0ZUJpbGxpbmdVc2FnZRI0LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ1VzYWdlUmVxdWVzdBo1LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQ3JlYXRlQmlsbGluZ1VzYWdlUmVzcG9uc2UixQGSQVAKBVVzYWdlEhRDcmVhdGUgYmlsbGluZyB1c2FnZRoxUmVwb3J0IGEgbmV3IGJpbGxpbmcgdXNhZ2UgZm9yIGEgYmlsbGluZyBhY2NvdW50LoLT5JMCbCI7L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL3tiaWxsaW5nX2lkfS91c2FnZXM6ASpaKiIlL3YxYmV0YTEvb3JnYW5pemF0aW9ucy9iaWxsaW5nL3VzYWdlczoBKhLsAgoXTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnMSOS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RCaWxsaW5nVHJhbnNhY3Rpb25zUmVxdWVzdBo6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuTGlzdEJpbGxpbmdUcmFuc2FjdGlvbnNSZXNwb25zZSLZAZJBVQoLVHJhbnNhY3Rpb24SGUxpc3QgYmlsbGluZyB0cmFuc2FjdGlvbnMaK0xpc3QgYWxsIHRyYW5zYWN0aW9ucyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnsSQS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vdHJhbnNhY3Rpb25zWjYSNC92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy90cmFuc2FjdGlvbnMS7wIKGFRvdGFsRGViaXRlZFRyYW5zYWN0aW9ucxI6LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVxdWVzdBo7LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuVG90YWxEZWJpdGVkVHJhbnNhY3Rpb25zUmVzcG9uc2Ui2QGSQX8KC1RyYW5zYWN0aW9uEjdTdW0gb2YgYW1vdW50IG9mIGRlYml0ZWQgdHJhbnNhY3Rpb25zIGluY2x1ZGluZyByZWZ1bmRzGjdTdW0gb2YgYW1vdW50IG9mIGRlYml0ZWQgdHJhbnNhY3Rpb25zIGluY2x1ZGluZyByZWZ1bmRzgtPkkwJREk8vdjFiZXRhMS9vcmdhbml6YXRpb25zL3tvcmdfaWR9L2JpbGxpbmcve2JpbGxpbmdfaWR9L2RlYml0ZWRfdHJhbnNhY3Rpb25zX3RvdGFsEq8CCgxMaXN0SW52b2ljZXMSLi5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RJbnZvaWNlc1JlcXVlc3QaLy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkxpc3RJbnZvaWNlc1Jlc3BvbnNlIr0BkkFBCgdJbnZvaWNlEg1MaXN0IGludm9pY2VzGidMaXN0IGFsbCBpbnZvaWNlcyBvZiBhIGJpbGxpbmcgYWNjb3VudC6C0+STAnMSPS92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vaW52b2ljZXNaMhIwL3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2ludm9pY2VzEuICChJHZXRVcGNvbWluZ0ludm9pY2USNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVwY29taW5nSW52b2ljZVJlcXVlc3QaNS5yYXlzdGFjay5mcm9udGllci52MWJldGExLkdldFVwY29taW5nSW52b2ljZVJlc3BvbnNlIt4BkkFPCgdJbnZvaWNlEhRHZXQgdXBjb21pbmcgaW52b2ljZRouR2V0IHRoZSB1cGNvbWluZyBpbnZvaWNlIG9mIGEgYmlsbGluZyBhY2NvdW50LoLT5JMChQESRi92MWJldGExL29yZ2FuaXphdGlvbnMve29yZ19pZH0vYmlsbGluZy97YmlsbGluZ19pZH0vaW52b2ljZXMvdXBjb21pbmdaOxI5L3YxYmV0YTEvb3JnYW5pemF0aW9ucy97b3JnX2lkfS9iaWxsaW5nL2ludm9pY2VzL3VwY29taW5nEpwCChZCaWxsaW5nV2ViaG9va0NhbGxiYWNrEjgucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5CaWxsaW5nV2ViaG9va0NhbGxiYWNrUmVxdWVzdBo5LnJheXN0YWNrLmZyb250aWVyLnYxYmV0YTEuQmlsbGluZ1dlYmhvb2tDYWxsYmFja1Jlc3BvbnNlIowBkkFOCgdXZWJob29rEhZBY2NlcHQgQmlsbGluZyB3ZWJob29rGitBY2NlcHRzIGEgQmlsbGluZyB3ZWJob29rIGFuZCBwcm9jZXNzZXMgaXQugtPkkwI1Ii0vdjFiZXRhMS9iaWxsaW5nL3dlYmhvb2tzL2NhbGxiYWNrL3twcm92aWRlcn06BGJvZHkSkQIKFENyZWF0ZVByb3NwZWN0UHVibGljEjYucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVQcm9zcGVjdFB1YmxpY1JlcXVlc3QaNy5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZVByb3NwZWN0UHVibGljUmVzcG9uc2UihwGSQWcKCFByb3NwZWN0Eg9DcmVhdGUgcHJvc3BlY3QaSkNyZWF0ZSBwcm9zcGVjdCBmb3IgZ2l2ZW4gZW1haWwgYW5kIGFjdGl2aXR5LiBBdmFpbGFibGUgZm9yIHB1YmxpYyBhY2Nlc3MugtPkkwIXIhIvdjFiZXRhMS9wcm9zcGVjdHM6ASoSgAEKEUNyZWF0ZUF1ZGl0UmVjb3JkEjMucmF5c3RhY2suZnJvbnRpZXIudjFiZXRhMS5DcmVhdGVBdWRpdFJlY29yZFJlcXVlc3QaNC5yYXlzdGFjay5mcm9udGllci52MWJldGExLkNyZWF0ZUF1ZGl0UmVjb3JkUmVzcG9uc2UiAELyDQojaW8ucmF5c3RhY2sucHJvdG9uLmZyb250aWVyLnYxYmV0YTFCCEZyb250aWVyWjtnaXRodWIuY29tL3JheXN0YWNrL3Byb3Rvbi9mcm9udGllci92MWJldGExO2Zyb250aWVydjFiZXRhMZJBgg0SHgoVRnJvbnRpZXIgR2VuZXJhbCBBUElzMgUwLjIuMBoOMTI3LjAuMC4xOjc0MDAqAQEyEGFwcGxpY2F0aW9uL2pzb246EGFwcGxpY2F0aW9uL2pzb25SPAoDMjAwEjUKG09LIC0gQSBzdWNjZXNzZnVsIHJlc3BvbnNlLhIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JpCgM0MDASYgpIQmFkIFJlcXVlc3QgLSBUaGUgcmVxdWVzdCB3YXMgbWFsZm9ybWVkIG9yIGNvbnRhaW5lZCBpbnZhbGlkIHBhcmFtZXRlcnMuEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUkoKAzQwMRJDCilVbmF1dGhvcml6ZWQgLSBBdXRoZW50aWNhdGlvbiBpcyByZXF1aXJlZBIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JhCgM0MDMSWgpARm9yYmlkZGVuIC0gVXNlciBkb2VzIG5vdCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSByZXNvdXJjZRIWChQaEi5nb29nbGUucnBjLlN0YXR1c1JRCgM0MDQSSgowTm90IEZvdW5kIC0gVGhlIHJlcXVlc3RlZCByZXNvdXJjZSB3YXMgbm90IGZvdW5kEhYKFBoSLmdvb2dsZS5ycGMuU3RhdHVzUnUKAzUwMBJuClRJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IuIFJldHVybmVkIHdoZW4gdGhlcmVzIGlzIHNvbWV0aGluZyB3cm9uZyB3aXRoIEZyb250aWVyIHNlcnZlci4SFgoUGhIuZ29vZ2xlLnJwYy5TdGF0dXNatgEKRAoFQmFzaWMSOwgBEh9DbGllbnQgSUQvU2VjcmV0IGF1dGhlbnRpY2F0aW9uGhRCYXNpYyBBdXRoZW50aWNhdGlvbiACCm4KBkJlYXJlchJkCAIST1RoZSBBdXRob3JpemF0aW9uIGhlYWRlciBtdXN0IGJlIHNldCB0byBCZWFyZXIgZm9sbG93ZWQgYnkgYSBzcGFjZSBhbmQgYSB0b2tlbi4aDUF1dGhvcml6YXRpb24gAmITCgcKBUJhc2ljCggKBkJlYXJlcmoGCgRVc2VyaoIDCgVHcm91cBL4Akdyb3VwcyBpbiBGcm9udGllciBhcmUgdXNlZCB0byBtYW5hZ2UgdXNlcnMgYW5kIHRoZWlyIGFjY2VzcyB0byByZXNvdXJjZXMuIEVhY2ggZ3JvdXAgaGFzIGEgdW5pcXVlIG5hbWUgYW5kIGlkIHRoYXQgY2FuIGJlIHVzZWQgdG8gZ3JhbnQgYWNjZXNzIHRvIHJlc291cmNlcy4gV2hlbiBhIHVzZXIgaXMgYWRkZWQgdG8gYSBncm91cCwgdGhleSBpbmhlcml0IHRoZSBhY2Nlc3MgcGVybWlzc2lvbnMgdGhhdCBoYXZlIGJlZW4gZ3JhbnRlZCB0byB0aGUgZ3JvdXAuIFRoaXMgYWxsb3dzIHlvdSB0byBtYW5hZ2UgYWNjZXNzIHRvIHJlc291cmNlcyBhdCBzY2FsZSwgd2l0aG91dCBoYXZpbmcgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG8gaW5kaXZpZHVhbCB1c2Vycy5qBgoEUm9sZWoOCgxPcmdhbml6YXRpb25qCQoHUHJvamVjdGoICgZQb2xpY3lqCgoIUmVsYXRpb25qDAoKUGVybWlzc2lvbmoLCglOYW1lc3BhY2VqCgoIUmVzb3VyY2VqGwoFQXV0aHoSEkF1dGhvcml6YXRpb24gQVBJc2ocCgVBdXRobhITQXV0aGVudGljYXRpb24gQVBJc2qQAgoKTWV0YVNjaGVtYRKBAk1hbmFnZSBNZXRhZGF0YSBTY2hlbWFzIHdoaWNoIGFyZSB1c2VkIHRvIHZhbGlkYXRlIG1ldGFkYXRhIG9iamVjdCB3aGlsZSBjcmVhdGluZyB1c2VyL29yZy9ncm91cC9yb2xlLiBGcm9udGllciBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBkZWZhdWx0IG1ldGFzY2hlbWFzIHdpdGggYGxhYmVsYCBhbmQgYGRlc2NyaXB0aW9uYCBmaWVsZHMuIFlvdSBjYW4gYWxzbyB1cGRhdGUgdGhlc2UgbWV0YXNjaGVtYXMgdG8gYWRkL2VkaXQgbW9yZSBmaWVsZHMuYgZwcm90bzM", [file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_struct, file_google_protobuf_timestamp, file_protoc_gen_openapiv2_options_annotations, file_raystack_frontier_v1beta1_models, file_validate_validate]);
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Describes the message raystack.frontier.v1beta1.BillingAccountRequestBody.
|
|
@@ -975,1671 +975,1615 @@ export const GetServiceUserRequestSchema = /*@__PURE__*/
|
|
|
975
975
|
export const GetServiceUserResponseSchema = /*@__PURE__*/
|
|
976
976
|
messageDesc(file_raystack_frontier_v1beta1_frontier, 132);
|
|
977
977
|
|
|
978
|
-
/**
|
|
979
|
-
* Describes the message raystack.frontier.v1beta1.UpdateServiceUserRequest.
|
|
980
|
-
* Use `create(UpdateServiceUserRequestSchema)` to create a new message.
|
|
981
|
-
*/
|
|
982
|
-
export const UpdateServiceUserRequestSchema = /*@__PURE__*/
|
|
983
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 133);
|
|
984
|
-
|
|
985
|
-
/**
|
|
986
|
-
* Describes the message raystack.frontier.v1beta1.UpdateServiceUserResponse.
|
|
987
|
-
* Use `create(UpdateServiceUserResponseSchema)` to create a new message.
|
|
988
|
-
*/
|
|
989
|
-
export const UpdateServiceUserResponseSchema = /*@__PURE__*/
|
|
990
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 134);
|
|
991
|
-
|
|
992
978
|
/**
|
|
993
979
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserRequest.
|
|
994
980
|
* Use `create(DeleteServiceUserRequestSchema)` to create a new message.
|
|
995
981
|
*/
|
|
996
982
|
export const DeleteServiceUserRequestSchema = /*@__PURE__*/
|
|
997
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
983
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 133);
|
|
998
984
|
|
|
999
985
|
/**
|
|
1000
986
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserResponse.
|
|
1001
987
|
* Use `create(DeleteServiceUserResponseSchema)` to create a new message.
|
|
1002
988
|
*/
|
|
1003
989
|
export const DeleteServiceUserResponseSchema = /*@__PURE__*/
|
|
1004
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
990
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 134);
|
|
1005
991
|
|
|
1006
992
|
/**
|
|
1007
993
|
* Describes the message raystack.frontier.v1beta1.CreateServiceUserJWKRequest.
|
|
1008
994
|
* Use `create(CreateServiceUserJWKRequestSchema)` to create a new message.
|
|
1009
995
|
*/
|
|
1010
996
|
export const CreateServiceUserJWKRequestSchema = /*@__PURE__*/
|
|
1011
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
997
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 135);
|
|
1012
998
|
|
|
1013
999
|
/**
|
|
1014
1000
|
* Describes the message raystack.frontier.v1beta1.CreateServiceUserJWKResponse.
|
|
1015
1001
|
* Use `create(CreateServiceUserJWKResponseSchema)` to create a new message.
|
|
1016
1002
|
*/
|
|
1017
1003
|
export const CreateServiceUserJWKResponseSchema = /*@__PURE__*/
|
|
1018
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1004
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 136);
|
|
1019
1005
|
|
|
1020
1006
|
/**
|
|
1021
1007
|
* Describes the message raystack.frontier.v1beta1.GetServiceUserJWKRequest.
|
|
1022
1008
|
* Use `create(GetServiceUserJWKRequestSchema)` to create a new message.
|
|
1023
1009
|
*/
|
|
1024
1010
|
export const GetServiceUserJWKRequestSchema = /*@__PURE__*/
|
|
1025
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1011
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 137);
|
|
1026
1012
|
|
|
1027
1013
|
/**
|
|
1028
1014
|
* Describes the message raystack.frontier.v1beta1.GetServiceUserJWKResponse.
|
|
1029
1015
|
* Use `create(GetServiceUserJWKResponseSchema)` to create a new message.
|
|
1030
1016
|
*/
|
|
1031
1017
|
export const GetServiceUserJWKResponseSchema = /*@__PURE__*/
|
|
1032
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1018
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 138);
|
|
1033
1019
|
|
|
1034
1020
|
/**
|
|
1035
1021
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserJWKsRequest.
|
|
1036
1022
|
* Use `create(ListServiceUserJWKsRequestSchema)` to create a new message.
|
|
1037
1023
|
*/
|
|
1038
1024
|
export const ListServiceUserJWKsRequestSchema = /*@__PURE__*/
|
|
1039
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1025
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 139);
|
|
1040
1026
|
|
|
1041
1027
|
/**
|
|
1042
1028
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserJWKsResponse.
|
|
1043
1029
|
* Use `create(ListServiceUserJWKsResponseSchema)` to create a new message.
|
|
1044
1030
|
*/
|
|
1045
1031
|
export const ListServiceUserJWKsResponseSchema = /*@__PURE__*/
|
|
1046
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1032
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 140);
|
|
1047
1033
|
|
|
1048
1034
|
/**
|
|
1049
1035
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserJWKRequest.
|
|
1050
1036
|
* Use `create(DeleteServiceUserJWKRequestSchema)` to create a new message.
|
|
1051
1037
|
*/
|
|
1052
1038
|
export const DeleteServiceUserJWKRequestSchema = /*@__PURE__*/
|
|
1053
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1039
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 141);
|
|
1054
1040
|
|
|
1055
1041
|
/**
|
|
1056
1042
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserJWKResponse.
|
|
1057
1043
|
* Use `create(DeleteServiceUserJWKResponseSchema)` to create a new message.
|
|
1058
1044
|
*/
|
|
1059
1045
|
export const DeleteServiceUserJWKResponseSchema = /*@__PURE__*/
|
|
1060
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1046
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 142);
|
|
1061
1047
|
|
|
1062
1048
|
/**
|
|
1063
1049
|
* Describes the message raystack.frontier.v1beta1.CreateServiceUserCredentialRequest.
|
|
1064
1050
|
* Use `create(CreateServiceUserCredentialRequestSchema)` to create a new message.
|
|
1065
1051
|
*/
|
|
1066
1052
|
export const CreateServiceUserCredentialRequestSchema = /*@__PURE__*/
|
|
1067
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1053
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 143);
|
|
1068
1054
|
|
|
1069
1055
|
/**
|
|
1070
1056
|
* Describes the message raystack.frontier.v1beta1.CreateServiceUserCredentialResponse.
|
|
1071
1057
|
* Use `create(CreateServiceUserCredentialResponseSchema)` to create a new message.
|
|
1072
1058
|
*/
|
|
1073
1059
|
export const CreateServiceUserCredentialResponseSchema = /*@__PURE__*/
|
|
1074
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1060
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 144);
|
|
1075
1061
|
|
|
1076
1062
|
/**
|
|
1077
1063
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserCredentialsRequest.
|
|
1078
1064
|
* Use `create(ListServiceUserCredentialsRequestSchema)` to create a new message.
|
|
1079
1065
|
*/
|
|
1080
1066
|
export const ListServiceUserCredentialsRequestSchema = /*@__PURE__*/
|
|
1081
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1067
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 145);
|
|
1082
1068
|
|
|
1083
1069
|
/**
|
|
1084
1070
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserCredentialsResponse.
|
|
1085
1071
|
* Use `create(ListServiceUserCredentialsResponseSchema)` to create a new message.
|
|
1086
1072
|
*/
|
|
1087
1073
|
export const ListServiceUserCredentialsResponseSchema = /*@__PURE__*/
|
|
1088
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1074
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 146);
|
|
1089
1075
|
|
|
1090
1076
|
/**
|
|
1091
1077
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserCredentialRequest.
|
|
1092
1078
|
* Use `create(DeleteServiceUserCredentialRequestSchema)` to create a new message.
|
|
1093
1079
|
*/
|
|
1094
1080
|
export const DeleteServiceUserCredentialRequestSchema = /*@__PURE__*/
|
|
1095
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1081
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 147);
|
|
1096
1082
|
|
|
1097
1083
|
/**
|
|
1098
1084
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserCredentialResponse.
|
|
1099
1085
|
* Use `create(DeleteServiceUserCredentialResponseSchema)` to create a new message.
|
|
1100
1086
|
*/
|
|
1101
1087
|
export const DeleteServiceUserCredentialResponseSchema = /*@__PURE__*/
|
|
1102
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1088
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 148);
|
|
1103
1089
|
|
|
1104
1090
|
/**
|
|
1105
1091
|
* Describes the message raystack.frontier.v1beta1.CreateServiceUserTokenRequest.
|
|
1106
1092
|
* Use `create(CreateServiceUserTokenRequestSchema)` to create a new message.
|
|
1107
1093
|
*/
|
|
1108
1094
|
export const CreateServiceUserTokenRequestSchema = /*@__PURE__*/
|
|
1109
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1095
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 149);
|
|
1110
1096
|
|
|
1111
1097
|
/**
|
|
1112
1098
|
* Describes the message raystack.frontier.v1beta1.CreateServiceUserTokenResponse.
|
|
1113
1099
|
* Use `create(CreateServiceUserTokenResponseSchema)` to create a new message.
|
|
1114
1100
|
*/
|
|
1115
1101
|
export const CreateServiceUserTokenResponseSchema = /*@__PURE__*/
|
|
1116
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1102
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 150);
|
|
1117
1103
|
|
|
1118
1104
|
/**
|
|
1119
1105
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserTokensRequest.
|
|
1120
1106
|
* Use `create(ListServiceUserTokensRequestSchema)` to create a new message.
|
|
1121
1107
|
*/
|
|
1122
1108
|
export const ListServiceUserTokensRequestSchema = /*@__PURE__*/
|
|
1123
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1109
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 151);
|
|
1124
1110
|
|
|
1125
1111
|
/**
|
|
1126
1112
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserTokensResponse.
|
|
1127
1113
|
* Use `create(ListServiceUserTokensResponseSchema)` to create a new message.
|
|
1128
1114
|
*/
|
|
1129
1115
|
export const ListServiceUserTokensResponseSchema = /*@__PURE__*/
|
|
1130
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1116
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 152);
|
|
1131
1117
|
|
|
1132
1118
|
/**
|
|
1133
1119
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserTokenRequest.
|
|
1134
1120
|
* Use `create(DeleteServiceUserTokenRequestSchema)` to create a new message.
|
|
1135
1121
|
*/
|
|
1136
1122
|
export const DeleteServiceUserTokenRequestSchema = /*@__PURE__*/
|
|
1137
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1123
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 153);
|
|
1138
1124
|
|
|
1139
1125
|
/**
|
|
1140
1126
|
* Describes the message raystack.frontier.v1beta1.DeleteServiceUserTokenResponse.
|
|
1141
1127
|
* Use `create(DeleteServiceUserTokenResponseSchema)` to create a new message.
|
|
1142
1128
|
*/
|
|
1143
1129
|
export const DeleteServiceUserTokenResponseSchema = /*@__PURE__*/
|
|
1144
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1130
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 154);
|
|
1145
1131
|
|
|
1146
1132
|
/**
|
|
1147
1133
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsRequest.
|
|
1148
1134
|
* Use `create(ListServiceUserProjectsRequestSchema)` to create a new message.
|
|
1149
1135
|
*/
|
|
1150
1136
|
export const ListServiceUserProjectsRequestSchema = /*@__PURE__*/
|
|
1151
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1137
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 155);
|
|
1152
1138
|
|
|
1153
1139
|
/**
|
|
1154
1140
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsResponse.
|
|
1155
1141
|
* Use `create(ListServiceUserProjectsResponseSchema)` to create a new message.
|
|
1156
1142
|
*/
|
|
1157
1143
|
export const ListServiceUserProjectsResponseSchema = /*@__PURE__*/
|
|
1158
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1144
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 156);
|
|
1159
1145
|
|
|
1160
1146
|
/**
|
|
1161
1147
|
* Describes the message raystack.frontier.v1beta1.ListServiceUserProjectsResponse.AccessPair.
|
|
1162
1148
|
* Use `create(ListServiceUserProjectsResponse_AccessPairSchema)` to create a new message.
|
|
1163
1149
|
*/
|
|
1164
1150
|
export const ListServiceUserProjectsResponse_AccessPairSchema = /*@__PURE__*/
|
|
1165
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1151
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 156, 0);
|
|
1166
1152
|
|
|
1167
1153
|
/**
|
|
1168
1154
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationGroupsRequest.
|
|
1169
1155
|
* Use `create(ListOrganizationGroupsRequestSchema)` to create a new message.
|
|
1170
1156
|
*/
|
|
1171
1157
|
export const ListOrganizationGroupsRequestSchema = /*@__PURE__*/
|
|
1172
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1158
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 157);
|
|
1173
1159
|
|
|
1174
1160
|
/**
|
|
1175
1161
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationGroupsResponse.
|
|
1176
1162
|
* Use `create(ListOrganizationGroupsResponseSchema)` to create a new message.
|
|
1177
1163
|
*/
|
|
1178
1164
|
export const ListOrganizationGroupsResponseSchema = /*@__PURE__*/
|
|
1179
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1165
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 158);
|
|
1180
1166
|
|
|
1181
1167
|
/**
|
|
1182
1168
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationRoleRequest.
|
|
1183
1169
|
* Use `create(CreateOrganizationRoleRequestSchema)` to create a new message.
|
|
1184
1170
|
*/
|
|
1185
1171
|
export const CreateOrganizationRoleRequestSchema = /*@__PURE__*/
|
|
1186
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1172
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 159);
|
|
1187
1173
|
|
|
1188
1174
|
/**
|
|
1189
1175
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationRoleResponse.
|
|
1190
1176
|
* Use `create(CreateOrganizationRoleResponseSchema)` to create a new message.
|
|
1191
1177
|
*/
|
|
1192
1178
|
export const CreateOrganizationRoleResponseSchema = /*@__PURE__*/
|
|
1193
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1179
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 160);
|
|
1194
1180
|
|
|
1195
1181
|
/**
|
|
1196
1182
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationRoleRequest.
|
|
1197
1183
|
* Use `create(GetOrganizationRoleRequestSchema)` to create a new message.
|
|
1198
1184
|
*/
|
|
1199
1185
|
export const GetOrganizationRoleRequestSchema = /*@__PURE__*/
|
|
1200
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1186
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 161);
|
|
1201
1187
|
|
|
1202
1188
|
/**
|
|
1203
1189
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationRoleResponse.
|
|
1204
1190
|
* Use `create(GetOrganizationRoleResponseSchema)` to create a new message.
|
|
1205
1191
|
*/
|
|
1206
1192
|
export const GetOrganizationRoleResponseSchema = /*@__PURE__*/
|
|
1207
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1193
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 162);
|
|
1208
1194
|
|
|
1209
1195
|
/**
|
|
1210
1196
|
* Describes the message raystack.frontier.v1beta1.UpdateOrganizationRoleRequest.
|
|
1211
1197
|
* Use `create(UpdateOrganizationRoleRequestSchema)` to create a new message.
|
|
1212
1198
|
*/
|
|
1213
1199
|
export const UpdateOrganizationRoleRequestSchema = /*@__PURE__*/
|
|
1214
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1200
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 163);
|
|
1215
1201
|
|
|
1216
1202
|
/**
|
|
1217
1203
|
* Describes the message raystack.frontier.v1beta1.UpdateOrganizationRoleResponse.
|
|
1218
1204
|
* Use `create(UpdateOrganizationRoleResponseSchema)` to create a new message.
|
|
1219
1205
|
*/
|
|
1220
1206
|
export const UpdateOrganizationRoleResponseSchema = /*@__PURE__*/
|
|
1221
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1207
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 164);
|
|
1222
1208
|
|
|
1223
1209
|
/**
|
|
1224
1210
|
* Describes the message raystack.frontier.v1beta1.ListRolesRequest.
|
|
1225
1211
|
* Use `create(ListRolesRequestSchema)` to create a new message.
|
|
1226
1212
|
*/
|
|
1227
1213
|
export const ListRolesRequestSchema = /*@__PURE__*/
|
|
1228
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1214
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 165);
|
|
1229
1215
|
|
|
1230
1216
|
/**
|
|
1231
1217
|
* Describes the message raystack.frontier.v1beta1.ListRolesResponse.
|
|
1232
1218
|
* Use `create(ListRolesResponseSchema)` to create a new message.
|
|
1233
1219
|
*/
|
|
1234
1220
|
export const ListRolesResponseSchema = /*@__PURE__*/
|
|
1235
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1221
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 166);
|
|
1236
1222
|
|
|
1237
1223
|
/**
|
|
1238
1224
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationRolesRequest.
|
|
1239
1225
|
* Use `create(ListOrganizationRolesRequestSchema)` to create a new message.
|
|
1240
1226
|
*/
|
|
1241
1227
|
export const ListOrganizationRolesRequestSchema = /*@__PURE__*/
|
|
1242
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1228
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 167);
|
|
1243
1229
|
|
|
1244
1230
|
/**
|
|
1245
1231
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationRolesResponse.
|
|
1246
1232
|
* Use `create(ListOrganizationRolesResponseSchema)` to create a new message.
|
|
1247
1233
|
*/
|
|
1248
1234
|
export const ListOrganizationRolesResponseSchema = /*@__PURE__*/
|
|
1249
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1235
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 168);
|
|
1250
1236
|
|
|
1251
1237
|
/**
|
|
1252
1238
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationRoleRequest.
|
|
1253
1239
|
* Use `create(DeleteOrganizationRoleRequestSchema)` to create a new message.
|
|
1254
1240
|
*/
|
|
1255
1241
|
export const DeleteOrganizationRoleRequestSchema = /*@__PURE__*/
|
|
1256
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1242
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 169);
|
|
1257
1243
|
|
|
1258
1244
|
/**
|
|
1259
1245
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationRoleResponse.
|
|
1260
1246
|
* Use `create(DeleteOrganizationRoleResponseSchema)` to create a new message.
|
|
1261
1247
|
*/
|
|
1262
1248
|
export const DeleteOrganizationRoleResponseSchema = /*@__PURE__*/
|
|
1263
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1249
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 170);
|
|
1264
1250
|
|
|
1265
1251
|
/**
|
|
1266
1252
|
* Describes the message raystack.frontier.v1beta1.OrganizationRequestBody.
|
|
1267
1253
|
* Use `create(OrganizationRequestBodySchema)` to create a new message.
|
|
1268
1254
|
*/
|
|
1269
1255
|
export const OrganizationRequestBodySchema = /*@__PURE__*/
|
|
1270
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1256
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 171);
|
|
1271
1257
|
|
|
1272
1258
|
/**
|
|
1273
1259
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationsRequest.
|
|
1274
1260
|
* Use `create(ListOrganizationsRequestSchema)` to create a new message.
|
|
1275
1261
|
*/
|
|
1276
1262
|
export const ListOrganizationsRequestSchema = /*@__PURE__*/
|
|
1277
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1263
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 172);
|
|
1278
1264
|
|
|
1279
1265
|
/**
|
|
1280
1266
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationsResponse.
|
|
1281
1267
|
* Use `create(ListOrganizationsResponseSchema)` to create a new message.
|
|
1282
1268
|
*/
|
|
1283
1269
|
export const ListOrganizationsResponseSchema = /*@__PURE__*/
|
|
1284
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1270
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 173);
|
|
1285
1271
|
|
|
1286
1272
|
/**
|
|
1287
1273
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationRequest.
|
|
1288
1274
|
* Use `create(CreateOrganizationRequestSchema)` to create a new message.
|
|
1289
1275
|
*/
|
|
1290
1276
|
export const CreateOrganizationRequestSchema = /*@__PURE__*/
|
|
1291
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1277
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 174);
|
|
1292
1278
|
|
|
1293
1279
|
/**
|
|
1294
1280
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationResponse.
|
|
1295
1281
|
* Use `create(CreateOrganizationResponseSchema)` to create a new message.
|
|
1296
1282
|
*/
|
|
1297
1283
|
export const CreateOrganizationResponseSchema = /*@__PURE__*/
|
|
1298
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1284
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 175);
|
|
1299
1285
|
|
|
1300
1286
|
/**
|
|
1301
1287
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationResponse.
|
|
1302
1288
|
* Use `create(GetOrganizationResponseSchema)` to create a new message.
|
|
1303
1289
|
*/
|
|
1304
1290
|
export const GetOrganizationResponseSchema = /*@__PURE__*/
|
|
1305
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1291
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 176);
|
|
1306
1292
|
|
|
1307
1293
|
/**
|
|
1308
1294
|
* Describes the message raystack.frontier.v1beta1.UpdateOrganizationResponse.
|
|
1309
1295
|
* Use `create(UpdateOrganizationResponseSchema)` to create a new message.
|
|
1310
1296
|
*/
|
|
1311
1297
|
export const UpdateOrganizationResponseSchema = /*@__PURE__*/
|
|
1312
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1298
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 177);
|
|
1313
1299
|
|
|
1314
1300
|
/**
|
|
1315
1301
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationRequest.
|
|
1316
1302
|
* Use `create(GetOrganizationRequestSchema)` to create a new message.
|
|
1317
1303
|
*/
|
|
1318
1304
|
export const GetOrganizationRequestSchema = /*@__PURE__*/
|
|
1319
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1305
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 178);
|
|
1320
1306
|
|
|
1321
1307
|
/**
|
|
1322
1308
|
* Describes the message raystack.frontier.v1beta1.UpdateOrganizationRequest.
|
|
1323
1309
|
* Use `create(UpdateOrganizationRequestSchema)` to create a new message.
|
|
1324
1310
|
*/
|
|
1325
1311
|
export const UpdateOrganizationRequestSchema = /*@__PURE__*/
|
|
1326
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1312
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 179);
|
|
1327
1313
|
|
|
1328
1314
|
/**
|
|
1329
1315
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationAdminsRequest.
|
|
1330
1316
|
* Use `create(ListOrganizationAdminsRequestSchema)` to create a new message.
|
|
1331
1317
|
*/
|
|
1332
1318
|
export const ListOrganizationAdminsRequestSchema = /*@__PURE__*/
|
|
1333
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1319
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 180);
|
|
1334
1320
|
|
|
1335
1321
|
/**
|
|
1336
1322
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationAdminsResponse.
|
|
1337
1323
|
* Use `create(ListOrganizationAdminsResponseSchema)` to create a new message.
|
|
1338
1324
|
*/
|
|
1339
1325
|
export const ListOrganizationAdminsResponseSchema = /*@__PURE__*/
|
|
1340
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1326
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 181);
|
|
1341
1327
|
|
|
1342
1328
|
/**
|
|
1343
1329
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationUsersRequest.
|
|
1344
1330
|
* Use `create(ListOrganizationUsersRequestSchema)` to create a new message.
|
|
1345
1331
|
*/
|
|
1346
1332
|
export const ListOrganizationUsersRequestSchema = /*@__PURE__*/
|
|
1347
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1333
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 182);
|
|
1348
1334
|
|
|
1349
1335
|
/**
|
|
1350
1336
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationUsersResponse.
|
|
1351
1337
|
* Use `create(ListOrganizationUsersResponseSchema)` to create a new message.
|
|
1352
1338
|
*/
|
|
1353
1339
|
export const ListOrganizationUsersResponseSchema = /*@__PURE__*/
|
|
1354
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1340
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 183);
|
|
1355
1341
|
|
|
1356
1342
|
/**
|
|
1357
1343
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationUsersResponse.RolePair.
|
|
1358
1344
|
* Use `create(ListOrganizationUsersResponse_RolePairSchema)` to create a new message.
|
|
1359
1345
|
*/
|
|
1360
1346
|
export const ListOrganizationUsersResponse_RolePairSchema = /*@__PURE__*/
|
|
1361
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1347
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 183, 0);
|
|
1362
1348
|
|
|
1363
1349
|
/**
|
|
1364
1350
|
* Describes the message raystack.frontier.v1beta1.AddOrganizationUsersRequest.
|
|
1365
1351
|
* Use `create(AddOrganizationUsersRequestSchema)` to create a new message.
|
|
1366
1352
|
*/
|
|
1367
1353
|
export const AddOrganizationUsersRequestSchema = /*@__PURE__*/
|
|
1368
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1354
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 184);
|
|
1369
1355
|
|
|
1370
1356
|
/**
|
|
1371
1357
|
* Describes the message raystack.frontier.v1beta1.AddOrganizationUsersResponse.
|
|
1372
1358
|
* Use `create(AddOrganizationUsersResponseSchema)` to create a new message.
|
|
1373
1359
|
*/
|
|
1374
1360
|
export const AddOrganizationUsersResponseSchema = /*@__PURE__*/
|
|
1375
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1361
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 185);
|
|
1376
1362
|
|
|
1377
1363
|
/**
|
|
1378
1364
|
* Describes the message raystack.frontier.v1beta1.RemoveOrganizationUserRequest.
|
|
1379
1365
|
* Use `create(RemoveOrganizationUserRequestSchema)` to create a new message.
|
|
1380
1366
|
*/
|
|
1381
1367
|
export const RemoveOrganizationUserRequestSchema = /*@__PURE__*/
|
|
1382
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1368
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 186);
|
|
1383
1369
|
|
|
1384
1370
|
/**
|
|
1385
1371
|
* Describes the message raystack.frontier.v1beta1.RemoveOrganizationUserResponse.
|
|
1386
1372
|
* Use `create(RemoveOrganizationUserResponseSchema)` to create a new message.
|
|
1387
1373
|
*/
|
|
1388
1374
|
export const RemoveOrganizationUserResponseSchema = /*@__PURE__*/
|
|
1389
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1375
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 187);
|
|
1390
1376
|
|
|
1391
1377
|
/**
|
|
1392
1378
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationServiceUsersRequest.
|
|
1393
1379
|
* Use `create(ListOrganizationServiceUsersRequestSchema)` to create a new message.
|
|
1394
1380
|
*/
|
|
1395
1381
|
export const ListOrganizationServiceUsersRequestSchema = /*@__PURE__*/
|
|
1396
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1382
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 188);
|
|
1397
1383
|
|
|
1398
1384
|
/**
|
|
1399
1385
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationServiceUsersResponse.
|
|
1400
1386
|
* Use `create(ListOrganizationServiceUsersResponseSchema)` to create a new message.
|
|
1401
1387
|
*/
|
|
1402
1388
|
export const ListOrganizationServiceUsersResponseSchema = /*@__PURE__*/
|
|
1403
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1389
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 189);
|
|
1404
1390
|
|
|
1405
1391
|
/**
|
|
1406
1392
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationInvitationsRequest.
|
|
1407
1393
|
* Use `create(ListOrganizationInvitationsRequestSchema)` to create a new message.
|
|
1408
1394
|
*/
|
|
1409
1395
|
export const ListOrganizationInvitationsRequestSchema = /*@__PURE__*/
|
|
1410
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1396
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 190);
|
|
1411
1397
|
|
|
1412
1398
|
/**
|
|
1413
1399
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationInvitationsResponse.
|
|
1414
1400
|
* Use `create(ListOrganizationInvitationsResponseSchema)` to create a new message.
|
|
1415
1401
|
*/
|
|
1416
1402
|
export const ListOrganizationInvitationsResponseSchema = /*@__PURE__*/
|
|
1417
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1403
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 191);
|
|
1418
1404
|
|
|
1419
1405
|
/**
|
|
1420
1406
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationInvitationRequest.
|
|
1421
1407
|
* Use `create(CreateOrganizationInvitationRequestSchema)` to create a new message.
|
|
1422
1408
|
*/
|
|
1423
1409
|
export const CreateOrganizationInvitationRequestSchema = /*@__PURE__*/
|
|
1424
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1410
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 192);
|
|
1425
1411
|
|
|
1426
1412
|
/**
|
|
1427
1413
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationInvitationResponse.
|
|
1428
1414
|
* Use `create(CreateOrganizationInvitationResponseSchema)` to create a new message.
|
|
1429
1415
|
*/
|
|
1430
1416
|
export const CreateOrganizationInvitationResponseSchema = /*@__PURE__*/
|
|
1431
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1417
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 193);
|
|
1432
1418
|
|
|
1433
1419
|
/**
|
|
1434
1420
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationInvitationRequest.
|
|
1435
1421
|
* Use `create(GetOrganizationInvitationRequestSchema)` to create a new message.
|
|
1436
1422
|
*/
|
|
1437
1423
|
export const GetOrganizationInvitationRequestSchema = /*@__PURE__*/
|
|
1438
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1424
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 194);
|
|
1439
1425
|
|
|
1440
1426
|
/**
|
|
1441
1427
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationInvitationResponse.
|
|
1442
1428
|
* Use `create(GetOrganizationInvitationResponseSchema)` to create a new message.
|
|
1443
1429
|
*/
|
|
1444
1430
|
export const GetOrganizationInvitationResponseSchema = /*@__PURE__*/
|
|
1445
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1431
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 195);
|
|
1446
1432
|
|
|
1447
1433
|
/**
|
|
1448
1434
|
* Describes the message raystack.frontier.v1beta1.AcceptOrganizationInvitationRequest.
|
|
1449
1435
|
* Use `create(AcceptOrganizationInvitationRequestSchema)` to create a new message.
|
|
1450
1436
|
*/
|
|
1451
1437
|
export const AcceptOrganizationInvitationRequestSchema = /*@__PURE__*/
|
|
1452
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1438
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 196);
|
|
1453
1439
|
|
|
1454
1440
|
/**
|
|
1455
1441
|
* Describes the message raystack.frontier.v1beta1.AcceptOrganizationInvitationResponse.
|
|
1456
1442
|
* Use `create(AcceptOrganizationInvitationResponseSchema)` to create a new message.
|
|
1457
1443
|
*/
|
|
1458
1444
|
export const AcceptOrganizationInvitationResponseSchema = /*@__PURE__*/
|
|
1459
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1445
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 197);
|
|
1460
1446
|
|
|
1461
1447
|
/**
|
|
1462
1448
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationInvitationRequest.
|
|
1463
1449
|
* Use `create(DeleteOrganizationInvitationRequestSchema)` to create a new message.
|
|
1464
1450
|
*/
|
|
1465
1451
|
export const DeleteOrganizationInvitationRequestSchema = /*@__PURE__*/
|
|
1466
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1452
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 198);
|
|
1467
1453
|
|
|
1468
1454
|
/**
|
|
1469
1455
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationDomainsRequest.
|
|
1470
1456
|
* Use `create(ListOrganizationDomainsRequestSchema)` to create a new message.
|
|
1471
1457
|
*/
|
|
1472
1458
|
export const ListOrganizationDomainsRequestSchema = /*@__PURE__*/
|
|
1473
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1459
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 199);
|
|
1474
1460
|
|
|
1475
1461
|
/**
|
|
1476
1462
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationDomainsResponse.
|
|
1477
1463
|
* Use `create(ListOrganizationDomainsResponseSchema)` to create a new message.
|
|
1478
1464
|
*/
|
|
1479
1465
|
export const ListOrganizationDomainsResponseSchema = /*@__PURE__*/
|
|
1480
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1466
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 200);
|
|
1481
1467
|
|
|
1482
1468
|
/**
|
|
1483
1469
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationsByDomainRequest.
|
|
1484
1470
|
* Use `create(ListOrganizationsByDomainRequestSchema)` to create a new message.
|
|
1485
1471
|
*/
|
|
1486
1472
|
export const ListOrganizationsByDomainRequestSchema = /*@__PURE__*/
|
|
1487
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1473
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 201);
|
|
1488
1474
|
|
|
1489
1475
|
/**
|
|
1490
1476
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationsByDomainResponse.
|
|
1491
1477
|
* Use `create(ListOrganizationsByDomainResponseSchema)` to create a new message.
|
|
1492
1478
|
*/
|
|
1493
1479
|
export const ListOrganizationsByDomainResponseSchema = /*@__PURE__*/
|
|
1494
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1480
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 202);
|
|
1495
1481
|
|
|
1496
1482
|
/**
|
|
1497
1483
|
* Describes the message raystack.frontier.v1beta1.JoinOrganizationRequest.
|
|
1498
1484
|
* Use `create(JoinOrganizationRequestSchema)` to create a new message.
|
|
1499
1485
|
*/
|
|
1500
1486
|
export const JoinOrganizationRequestSchema = /*@__PURE__*/
|
|
1501
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1487
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 203);
|
|
1502
1488
|
|
|
1503
1489
|
/**
|
|
1504
1490
|
* Describes the message raystack.frontier.v1beta1.JoinOrganizationResponse.
|
|
1505
1491
|
* Use `create(JoinOrganizationResponseSchema)` to create a new message.
|
|
1506
1492
|
*/
|
|
1507
1493
|
export const JoinOrganizationResponseSchema = /*@__PURE__*/
|
|
1508
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1494
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 204);
|
|
1509
1495
|
|
|
1510
1496
|
/**
|
|
1511
1497
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationDomainRequest.
|
|
1512
1498
|
* Use `create(GetOrganizationDomainRequestSchema)` to create a new message.
|
|
1513
1499
|
*/
|
|
1514
1500
|
export const GetOrganizationDomainRequestSchema = /*@__PURE__*/
|
|
1515
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1501
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 205);
|
|
1516
1502
|
|
|
1517
1503
|
/**
|
|
1518
1504
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationDomainResponse.
|
|
1519
1505
|
* Use `create(GetOrganizationDomainResponseSchema)` to create a new message.
|
|
1520
1506
|
*/
|
|
1521
1507
|
export const GetOrganizationDomainResponseSchema = /*@__PURE__*/
|
|
1522
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1508
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 206);
|
|
1523
1509
|
|
|
1524
1510
|
/**
|
|
1525
1511
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationDomainRequest.
|
|
1526
1512
|
* Use `create(CreateOrganizationDomainRequestSchema)` to create a new message.
|
|
1527
1513
|
*/
|
|
1528
1514
|
export const CreateOrganizationDomainRequestSchema = /*@__PURE__*/
|
|
1529
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1515
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 207);
|
|
1530
1516
|
|
|
1531
1517
|
/**
|
|
1532
1518
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationDomainResponse.
|
|
1533
1519
|
* Use `create(CreateOrganizationDomainResponseSchema)` to create a new message.
|
|
1534
1520
|
*/
|
|
1535
1521
|
export const CreateOrganizationDomainResponseSchema = /*@__PURE__*/
|
|
1536
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1522
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 208);
|
|
1537
1523
|
|
|
1538
1524
|
/**
|
|
1539
1525
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationDomainRequest.
|
|
1540
1526
|
* Use `create(DeleteOrganizationDomainRequestSchema)` to create a new message.
|
|
1541
1527
|
*/
|
|
1542
1528
|
export const DeleteOrganizationDomainRequestSchema = /*@__PURE__*/
|
|
1543
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1529
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 209);
|
|
1544
1530
|
|
|
1545
1531
|
/**
|
|
1546
1532
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationDomainResponse.
|
|
1547
1533
|
* Use `create(DeleteOrganizationDomainResponseSchema)` to create a new message.
|
|
1548
1534
|
*/
|
|
1549
1535
|
export const DeleteOrganizationDomainResponseSchema = /*@__PURE__*/
|
|
1550
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1536
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 210);
|
|
1551
1537
|
|
|
1552
1538
|
/**
|
|
1553
1539
|
* Describes the message raystack.frontier.v1beta1.VerifyOrganizationDomainRequest.
|
|
1554
1540
|
* Use `create(VerifyOrganizationDomainRequestSchema)` to create a new message.
|
|
1555
1541
|
*/
|
|
1556
1542
|
export const VerifyOrganizationDomainRequestSchema = /*@__PURE__*/
|
|
1557
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1543
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 211);
|
|
1558
1544
|
|
|
1559
1545
|
/**
|
|
1560
1546
|
* Describes the message raystack.frontier.v1beta1.VerifyOrganizationDomainResponse.
|
|
1561
1547
|
* Use `create(VerifyOrganizationDomainResponseSchema)` to create a new message.
|
|
1562
1548
|
*/
|
|
1563
1549
|
export const VerifyOrganizationDomainResponseSchema = /*@__PURE__*/
|
|
1564
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1550
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 212);
|
|
1565
1551
|
|
|
1566
1552
|
/**
|
|
1567
1553
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationInvitationResponse.
|
|
1568
1554
|
* Use `create(DeleteOrganizationInvitationResponseSchema)` to create a new message.
|
|
1569
1555
|
*/
|
|
1570
1556
|
export const DeleteOrganizationInvitationResponseSchema = /*@__PURE__*/
|
|
1571
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1557
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 213);
|
|
1572
1558
|
|
|
1573
1559
|
/**
|
|
1574
1560
|
* Describes the message raystack.frontier.v1beta1.EnableOrganizationRequest.
|
|
1575
1561
|
* Use `create(EnableOrganizationRequestSchema)` to create a new message.
|
|
1576
1562
|
*/
|
|
1577
1563
|
export const EnableOrganizationRequestSchema = /*@__PURE__*/
|
|
1578
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1564
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 214);
|
|
1579
1565
|
|
|
1580
1566
|
/**
|
|
1581
1567
|
* Describes the message raystack.frontier.v1beta1.EnableOrganizationResponse.
|
|
1582
1568
|
* Use `create(EnableOrganizationResponseSchema)` to create a new message.
|
|
1583
1569
|
*/
|
|
1584
1570
|
export const EnableOrganizationResponseSchema = /*@__PURE__*/
|
|
1585
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1571
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 215);
|
|
1586
1572
|
|
|
1587
1573
|
/**
|
|
1588
1574
|
* Describes the message raystack.frontier.v1beta1.DisableOrganizationRequest.
|
|
1589
1575
|
* Use `create(DisableOrganizationRequestSchema)` to create a new message.
|
|
1590
1576
|
*/
|
|
1591
1577
|
export const DisableOrganizationRequestSchema = /*@__PURE__*/
|
|
1592
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1578
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 216);
|
|
1593
1579
|
|
|
1594
1580
|
/**
|
|
1595
1581
|
* Describes the message raystack.frontier.v1beta1.DisableOrganizationResponse.
|
|
1596
1582
|
* Use `create(DisableOrganizationResponseSchema)` to create a new message.
|
|
1597
1583
|
*/
|
|
1598
1584
|
export const DisableOrganizationResponseSchema = /*@__PURE__*/
|
|
1599
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1585
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 217);
|
|
1600
1586
|
|
|
1601
1587
|
/**
|
|
1602
1588
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationRequest.
|
|
1603
1589
|
* Use `create(DeleteOrganizationRequestSchema)` to create a new message.
|
|
1604
1590
|
*/
|
|
1605
1591
|
export const DeleteOrganizationRequestSchema = /*@__PURE__*/
|
|
1606
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1592
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 218);
|
|
1607
1593
|
|
|
1608
1594
|
/**
|
|
1609
1595
|
* Describes the message raystack.frontier.v1beta1.DeleteOrganizationResponse.
|
|
1610
1596
|
* Use `create(DeleteOrganizationResponseSchema)` to create a new message.
|
|
1611
1597
|
*/
|
|
1612
1598
|
export const DeleteOrganizationResponseSchema = /*@__PURE__*/
|
|
1613
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1599
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 219);
|
|
1614
1600
|
|
|
1615
1601
|
/**
|
|
1616
1602
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationKycRequest.
|
|
1617
1603
|
* Use `create(GetOrganizationKycRequestSchema)` to create a new message.
|
|
1618
1604
|
*/
|
|
1619
1605
|
export const GetOrganizationKycRequestSchema = /*@__PURE__*/
|
|
1620
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1606
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 220);
|
|
1621
1607
|
|
|
1622
1608
|
/**
|
|
1623
1609
|
* Describes the message raystack.frontier.v1beta1.GetOrganizationKycResponse.
|
|
1624
1610
|
* Use `create(GetOrganizationKycResponseSchema)` to create a new message.
|
|
1625
1611
|
*/
|
|
1626
1612
|
export const GetOrganizationKycResponseSchema = /*@__PURE__*/
|
|
1627
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1613
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 221);
|
|
1628
1614
|
|
|
1629
1615
|
/**
|
|
1630
1616
|
* Describes the message raystack.frontier.v1beta1.ProjectRequestBody.
|
|
1631
1617
|
* Use `create(ProjectRequestBodySchema)` to create a new message.
|
|
1632
1618
|
*/
|
|
1633
1619
|
export const ProjectRequestBodySchema = /*@__PURE__*/
|
|
1634
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1620
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 222);
|
|
1635
1621
|
|
|
1636
1622
|
/**
|
|
1637
1623
|
* Describes the message raystack.frontier.v1beta1.CreateProjectRequest.
|
|
1638
1624
|
* Use `create(CreateProjectRequestSchema)` to create a new message.
|
|
1639
1625
|
*/
|
|
1640
1626
|
export const CreateProjectRequestSchema = /*@__PURE__*/
|
|
1641
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1627
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 223);
|
|
1642
1628
|
|
|
1643
1629
|
/**
|
|
1644
1630
|
* Describes the message raystack.frontier.v1beta1.CreateProjectResponse.
|
|
1645
1631
|
* Use `create(CreateProjectResponseSchema)` to create a new message.
|
|
1646
1632
|
*/
|
|
1647
1633
|
export const CreateProjectResponseSchema = /*@__PURE__*/
|
|
1648
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1634
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 224);
|
|
1649
1635
|
|
|
1650
1636
|
/**
|
|
1651
1637
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationProjectsRequest.
|
|
1652
1638
|
* Use `create(ListOrganizationProjectsRequestSchema)` to create a new message.
|
|
1653
1639
|
*/
|
|
1654
1640
|
export const ListOrganizationProjectsRequestSchema = /*@__PURE__*/
|
|
1655
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1641
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 225);
|
|
1656
1642
|
|
|
1657
1643
|
/**
|
|
1658
1644
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationProjectsResponse.
|
|
1659
1645
|
* Use `create(ListOrganizationProjectsResponseSchema)` to create a new message.
|
|
1660
1646
|
*/
|
|
1661
1647
|
export const ListOrganizationProjectsResponseSchema = /*@__PURE__*/
|
|
1662
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1648
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 226);
|
|
1663
1649
|
|
|
1664
1650
|
/**
|
|
1665
1651
|
* Describes the message raystack.frontier.v1beta1.GetProjectRequest.
|
|
1666
1652
|
* Use `create(GetProjectRequestSchema)` to create a new message.
|
|
1667
1653
|
*/
|
|
1668
1654
|
export const GetProjectRequestSchema = /*@__PURE__*/
|
|
1669
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1655
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 227);
|
|
1670
1656
|
|
|
1671
1657
|
/**
|
|
1672
1658
|
* Describes the message raystack.frontier.v1beta1.GetProjectResponse.
|
|
1673
1659
|
* Use `create(GetProjectResponseSchema)` to create a new message.
|
|
1674
1660
|
*/
|
|
1675
1661
|
export const GetProjectResponseSchema = /*@__PURE__*/
|
|
1676
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1662
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 228);
|
|
1677
1663
|
|
|
1678
1664
|
/**
|
|
1679
1665
|
* Describes the message raystack.frontier.v1beta1.UpdateProjectRequest.
|
|
1680
1666
|
* Use `create(UpdateProjectRequestSchema)` to create a new message.
|
|
1681
1667
|
*/
|
|
1682
1668
|
export const UpdateProjectRequestSchema = /*@__PURE__*/
|
|
1683
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1669
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 229);
|
|
1684
1670
|
|
|
1685
1671
|
/**
|
|
1686
1672
|
* Describes the message raystack.frontier.v1beta1.UpdateProjectResponse.
|
|
1687
1673
|
* Use `create(UpdateProjectResponseSchema)` to create a new message.
|
|
1688
1674
|
*/
|
|
1689
1675
|
export const UpdateProjectResponseSchema = /*@__PURE__*/
|
|
1690
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1676
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 230);
|
|
1691
1677
|
|
|
1692
1678
|
/**
|
|
1693
1679
|
* Describes the message raystack.frontier.v1beta1.ListProjectAdminsRequest.
|
|
1694
1680
|
* Use `create(ListProjectAdminsRequestSchema)` to create a new message.
|
|
1695
1681
|
*/
|
|
1696
1682
|
export const ListProjectAdminsRequestSchema = /*@__PURE__*/
|
|
1697
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1683
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 231);
|
|
1698
1684
|
|
|
1699
1685
|
/**
|
|
1700
1686
|
* Describes the message raystack.frontier.v1beta1.ListProjectAdminsResponse.
|
|
1701
1687
|
* Use `create(ListProjectAdminsResponseSchema)` to create a new message.
|
|
1702
1688
|
*/
|
|
1703
1689
|
export const ListProjectAdminsResponseSchema = /*@__PURE__*/
|
|
1704
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1690
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 232);
|
|
1705
1691
|
|
|
1706
1692
|
/**
|
|
1707
1693
|
* Describes the message raystack.frontier.v1beta1.ListProjectUsersRequest.
|
|
1708
1694
|
* Use `create(ListProjectUsersRequestSchema)` to create a new message.
|
|
1709
1695
|
*/
|
|
1710
1696
|
export const ListProjectUsersRequestSchema = /*@__PURE__*/
|
|
1711
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1697
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 233);
|
|
1712
1698
|
|
|
1713
1699
|
/**
|
|
1714
1700
|
* Describes the message raystack.frontier.v1beta1.ListProjectUsersResponse.
|
|
1715
1701
|
* Use `create(ListProjectUsersResponseSchema)` to create a new message.
|
|
1716
1702
|
*/
|
|
1717
1703
|
export const ListProjectUsersResponseSchema = /*@__PURE__*/
|
|
1718
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1704
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 234);
|
|
1719
1705
|
|
|
1720
1706
|
/**
|
|
1721
1707
|
* Describes the message raystack.frontier.v1beta1.ListProjectUsersResponse.RolePair.
|
|
1722
1708
|
* Use `create(ListProjectUsersResponse_RolePairSchema)` to create a new message.
|
|
1723
1709
|
*/
|
|
1724
1710
|
export const ListProjectUsersResponse_RolePairSchema = /*@__PURE__*/
|
|
1725
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1711
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 234, 0);
|
|
1726
1712
|
|
|
1727
1713
|
/**
|
|
1728
1714
|
* Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersRequest.
|
|
1729
1715
|
* Use `create(ListProjectServiceUsersRequestSchema)` to create a new message.
|
|
1730
1716
|
*/
|
|
1731
1717
|
export const ListProjectServiceUsersRequestSchema = /*@__PURE__*/
|
|
1732
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1718
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 235);
|
|
1733
1719
|
|
|
1734
1720
|
/**
|
|
1735
1721
|
* Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersResponse.
|
|
1736
1722
|
* Use `create(ListProjectServiceUsersResponseSchema)` to create a new message.
|
|
1737
1723
|
*/
|
|
1738
1724
|
export const ListProjectServiceUsersResponseSchema = /*@__PURE__*/
|
|
1739
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1725
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 236);
|
|
1740
1726
|
|
|
1741
1727
|
/**
|
|
1742
1728
|
* Describes the message raystack.frontier.v1beta1.ListProjectServiceUsersResponse.RolePair.
|
|
1743
1729
|
* Use `create(ListProjectServiceUsersResponse_RolePairSchema)` to create a new message.
|
|
1744
1730
|
*/
|
|
1745
1731
|
export const ListProjectServiceUsersResponse_RolePairSchema = /*@__PURE__*/
|
|
1746
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1732
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 236, 0);
|
|
1747
1733
|
|
|
1748
1734
|
/**
|
|
1749
1735
|
* Describes the message raystack.frontier.v1beta1.ListProjectGroupsRequest.
|
|
1750
1736
|
* Use `create(ListProjectGroupsRequestSchema)` to create a new message.
|
|
1751
1737
|
*/
|
|
1752
1738
|
export const ListProjectGroupsRequestSchema = /*@__PURE__*/
|
|
1753
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1739
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 237);
|
|
1754
1740
|
|
|
1755
1741
|
/**
|
|
1756
1742
|
* Describes the message raystack.frontier.v1beta1.ListProjectGroupsResponse.
|
|
1757
1743
|
* Use `create(ListProjectGroupsResponseSchema)` to create a new message.
|
|
1758
1744
|
*/
|
|
1759
1745
|
export const ListProjectGroupsResponseSchema = /*@__PURE__*/
|
|
1760
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1746
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 238);
|
|
1761
1747
|
|
|
1762
1748
|
/**
|
|
1763
1749
|
* Describes the message raystack.frontier.v1beta1.ListProjectGroupsResponse.RolePair.
|
|
1764
1750
|
* Use `create(ListProjectGroupsResponse_RolePairSchema)` to create a new message.
|
|
1765
1751
|
*/
|
|
1766
1752
|
export const ListProjectGroupsResponse_RolePairSchema = /*@__PURE__*/
|
|
1767
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1753
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 238, 0);
|
|
1768
1754
|
|
|
1769
1755
|
/**
|
|
1770
1756
|
* Describes the message raystack.frontier.v1beta1.EnableProjectRequest.
|
|
1771
1757
|
* Use `create(EnableProjectRequestSchema)` to create a new message.
|
|
1772
1758
|
*/
|
|
1773
1759
|
export const EnableProjectRequestSchema = /*@__PURE__*/
|
|
1774
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1760
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 239);
|
|
1775
1761
|
|
|
1776
1762
|
/**
|
|
1777
1763
|
* Describes the message raystack.frontier.v1beta1.EnableProjectResponse.
|
|
1778
1764
|
* Use `create(EnableProjectResponseSchema)` to create a new message.
|
|
1779
1765
|
*/
|
|
1780
1766
|
export const EnableProjectResponseSchema = /*@__PURE__*/
|
|
1781
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1767
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 240);
|
|
1782
1768
|
|
|
1783
1769
|
/**
|
|
1784
1770
|
* Describes the message raystack.frontier.v1beta1.DisableProjectRequest.
|
|
1785
1771
|
* Use `create(DisableProjectRequestSchema)` to create a new message.
|
|
1786
1772
|
*/
|
|
1787
1773
|
export const DisableProjectRequestSchema = /*@__PURE__*/
|
|
1788
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1774
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 241);
|
|
1789
1775
|
|
|
1790
1776
|
/**
|
|
1791
1777
|
* Describes the message raystack.frontier.v1beta1.DisableProjectResponse.
|
|
1792
1778
|
* Use `create(DisableProjectResponseSchema)` to create a new message.
|
|
1793
1779
|
*/
|
|
1794
1780
|
export const DisableProjectResponseSchema = /*@__PURE__*/
|
|
1795
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1781
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 242);
|
|
1796
1782
|
|
|
1797
1783
|
/**
|
|
1798
1784
|
* Describes the message raystack.frontier.v1beta1.DeleteProjectRequest.
|
|
1799
1785
|
* Use `create(DeleteProjectRequestSchema)` to create a new message.
|
|
1800
1786
|
*/
|
|
1801
1787
|
export const DeleteProjectRequestSchema = /*@__PURE__*/
|
|
1802
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1788
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 243);
|
|
1803
1789
|
|
|
1804
1790
|
/**
|
|
1805
1791
|
* Describes the message raystack.frontier.v1beta1.DeleteProjectResponse.
|
|
1806
1792
|
* Use `create(DeleteProjectResponseSchema)` to create a new message.
|
|
1807
1793
|
*/
|
|
1808
1794
|
export const DeleteProjectResponseSchema = /*@__PURE__*/
|
|
1809
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1795
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 244);
|
|
1810
1796
|
|
|
1811
1797
|
/**
|
|
1812
1798
|
* Describes the message raystack.frontier.v1beta1.PolicyRequestBody.
|
|
1813
1799
|
* Use `create(PolicyRequestBodySchema)` to create a new message.
|
|
1814
1800
|
*/
|
|
1815
1801
|
export const PolicyRequestBodySchema = /*@__PURE__*/
|
|
1816
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1802
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 245);
|
|
1817
1803
|
|
|
1818
1804
|
/**
|
|
1819
1805
|
* Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectBody.
|
|
1820
1806
|
* Use `create(CreatePolicyForProjectBodySchema)` to create a new message.
|
|
1821
1807
|
*/
|
|
1822
1808
|
export const CreatePolicyForProjectBodySchema = /*@__PURE__*/
|
|
1823
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1809
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 246);
|
|
1824
1810
|
|
|
1825
1811
|
/**
|
|
1826
1812
|
* Describes the message raystack.frontier.v1beta1.GetPermissionRequest.
|
|
1827
1813
|
* Use `create(GetPermissionRequestSchema)` to create a new message.
|
|
1828
1814
|
*/
|
|
1829
1815
|
export const GetPermissionRequestSchema = /*@__PURE__*/
|
|
1830
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1816
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 247);
|
|
1831
1817
|
|
|
1832
1818
|
/**
|
|
1833
1819
|
* Describes the message raystack.frontier.v1beta1.GetPermissionResponse.
|
|
1834
1820
|
* Use `create(GetPermissionResponseSchema)` to create a new message.
|
|
1835
1821
|
*/
|
|
1836
1822
|
export const GetPermissionResponseSchema = /*@__PURE__*/
|
|
1837
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1823
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 248);
|
|
1838
1824
|
|
|
1839
1825
|
/**
|
|
1840
1826
|
* Describes the message raystack.frontier.v1beta1.ListPermissionsRequest.
|
|
1841
1827
|
* Use `create(ListPermissionsRequestSchema)` to create a new message.
|
|
1842
1828
|
*/
|
|
1843
1829
|
export const ListPermissionsRequestSchema = /*@__PURE__*/
|
|
1844
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1830
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 249);
|
|
1845
1831
|
|
|
1846
1832
|
/**
|
|
1847
1833
|
* Describes the message raystack.frontier.v1beta1.ListPermissionsResponse.
|
|
1848
1834
|
* Use `create(ListPermissionsResponseSchema)` to create a new message.
|
|
1849
1835
|
*/
|
|
1850
1836
|
export const ListPermissionsResponseSchema = /*@__PURE__*/
|
|
1851
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1837
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 250);
|
|
1852
1838
|
|
|
1853
1839
|
/**
|
|
1854
1840
|
* Describes the message raystack.frontier.v1beta1.ListNamespacesRequest.
|
|
1855
1841
|
* Use `create(ListNamespacesRequestSchema)` to create a new message.
|
|
1856
1842
|
*/
|
|
1857
1843
|
export const ListNamespacesRequestSchema = /*@__PURE__*/
|
|
1858
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1844
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 251);
|
|
1859
1845
|
|
|
1860
1846
|
/**
|
|
1861
1847
|
* Describes the message raystack.frontier.v1beta1.ListNamespacesResponse.
|
|
1862
1848
|
* Use `create(ListNamespacesResponseSchema)` to create a new message.
|
|
1863
1849
|
*/
|
|
1864
1850
|
export const ListNamespacesResponseSchema = /*@__PURE__*/
|
|
1865
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1851
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 252);
|
|
1866
1852
|
|
|
1867
1853
|
/**
|
|
1868
1854
|
* Describes the message raystack.frontier.v1beta1.GetNamespaceRequest.
|
|
1869
1855
|
* Use `create(GetNamespaceRequestSchema)` to create a new message.
|
|
1870
1856
|
*/
|
|
1871
1857
|
export const GetNamespaceRequestSchema = /*@__PURE__*/
|
|
1872
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1858
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 253);
|
|
1873
1859
|
|
|
1874
1860
|
/**
|
|
1875
1861
|
* Describes the message raystack.frontier.v1beta1.GetNamespaceResponse.
|
|
1876
1862
|
* Use `create(GetNamespaceResponseSchema)` to create a new message.
|
|
1877
1863
|
*/
|
|
1878
1864
|
export const GetNamespaceResponseSchema = /*@__PURE__*/
|
|
1879
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1865
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 254);
|
|
1880
1866
|
|
|
1881
1867
|
/**
|
|
1882
1868
|
* Describes the message raystack.frontier.v1beta1.CreatePolicyRequest.
|
|
1883
1869
|
* Use `create(CreatePolicyRequestSchema)` to create a new message.
|
|
1884
1870
|
*/
|
|
1885
1871
|
export const CreatePolicyRequestSchema = /*@__PURE__*/
|
|
1886
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1872
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 255);
|
|
1887
1873
|
|
|
1888
1874
|
/**
|
|
1889
1875
|
* Describes the message raystack.frontier.v1beta1.CreatePolicyResponse.
|
|
1890
1876
|
* Use `create(CreatePolicyResponseSchema)` to create a new message.
|
|
1891
1877
|
*/
|
|
1892
1878
|
export const CreatePolicyResponseSchema = /*@__PURE__*/
|
|
1893
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1879
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 256);
|
|
1894
1880
|
|
|
1895
1881
|
/**
|
|
1896
1882
|
* Describes the message raystack.frontier.v1beta1.GetPolicyRequest.
|
|
1897
1883
|
* Use `create(GetPolicyRequestSchema)` to create a new message.
|
|
1898
1884
|
*/
|
|
1899
1885
|
export const GetPolicyRequestSchema = /*@__PURE__*/
|
|
1900
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1886
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 257);
|
|
1901
1887
|
|
|
1902
1888
|
/**
|
|
1903
1889
|
* Describes the message raystack.frontier.v1beta1.GetPolicyResponse.
|
|
1904
1890
|
* Use `create(GetPolicyResponseSchema)` to create a new message.
|
|
1905
1891
|
*/
|
|
1906
1892
|
export const GetPolicyResponseSchema = /*@__PURE__*/
|
|
1907
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1893
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 258);
|
|
1908
1894
|
|
|
1909
1895
|
/**
|
|
1910
1896
|
* Describes the message raystack.frontier.v1beta1.ListPoliciesRequest.
|
|
1911
1897
|
* Use `create(ListPoliciesRequestSchema)` to create a new message.
|
|
1912
1898
|
*/
|
|
1913
1899
|
export const ListPoliciesRequestSchema = /*@__PURE__*/
|
|
1914
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1900
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 259);
|
|
1915
1901
|
|
|
1916
1902
|
/**
|
|
1917
1903
|
* Describes the message raystack.frontier.v1beta1.ListPoliciesResponse.
|
|
1918
1904
|
* Use `create(ListPoliciesResponseSchema)` to create a new message.
|
|
1919
1905
|
*/
|
|
1920
1906
|
export const ListPoliciesResponseSchema = /*@__PURE__*/
|
|
1921
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1907
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 260);
|
|
1922
1908
|
|
|
1923
1909
|
/**
|
|
1924
1910
|
* Describes the message raystack.frontier.v1beta1.UpdatePolicyRequest.
|
|
1925
1911
|
* Use `create(UpdatePolicyRequestSchema)` to create a new message.
|
|
1926
1912
|
*/
|
|
1927
1913
|
export const UpdatePolicyRequestSchema = /*@__PURE__*/
|
|
1928
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1914
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 261);
|
|
1929
1915
|
|
|
1930
1916
|
/**
|
|
1931
1917
|
* Describes the message raystack.frontier.v1beta1.UpdatePolicyResponse.
|
|
1932
1918
|
* Use `create(UpdatePolicyResponseSchema)` to create a new message.
|
|
1933
1919
|
*/
|
|
1934
1920
|
export const UpdatePolicyResponseSchema = /*@__PURE__*/
|
|
1935
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1921
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 262);
|
|
1936
1922
|
|
|
1937
1923
|
/**
|
|
1938
1924
|
* Describes the message raystack.frontier.v1beta1.DeletePolicyRequest.
|
|
1939
1925
|
* Use `create(DeletePolicyRequestSchema)` to create a new message.
|
|
1940
1926
|
*/
|
|
1941
1927
|
export const DeletePolicyRequestSchema = /*@__PURE__*/
|
|
1942
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1928
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 263);
|
|
1943
1929
|
|
|
1944
1930
|
/**
|
|
1945
1931
|
* Describes the message raystack.frontier.v1beta1.DeletePolicyResponse.
|
|
1946
1932
|
* Use `create(DeletePolicyResponseSchema)` to create a new message.
|
|
1947
1933
|
*/
|
|
1948
1934
|
export const DeletePolicyResponseSchema = /*@__PURE__*/
|
|
1949
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1935
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 264);
|
|
1950
1936
|
|
|
1951
1937
|
/**
|
|
1952
1938
|
* Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectRequest.
|
|
1953
1939
|
* Use `create(CreatePolicyForProjectRequestSchema)` to create a new message.
|
|
1954
1940
|
*/
|
|
1955
1941
|
export const CreatePolicyForProjectRequestSchema = /*@__PURE__*/
|
|
1956
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1942
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 265);
|
|
1957
1943
|
|
|
1958
1944
|
/**
|
|
1959
1945
|
* Describes the message raystack.frontier.v1beta1.CreatePolicyForProjectResponse.
|
|
1960
1946
|
* Use `create(CreatePolicyForProjectResponseSchema)` to create a new message.
|
|
1961
1947
|
*/
|
|
1962
1948
|
export const CreatePolicyForProjectResponseSchema = /*@__PURE__*/
|
|
1963
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1949
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 266);
|
|
1964
1950
|
|
|
1965
1951
|
/**
|
|
1966
1952
|
* Describes the message raystack.frontier.v1beta1.RelationRequestBody.
|
|
1967
1953
|
* Use `create(RelationRequestBodySchema)` to create a new message.
|
|
1968
1954
|
*/
|
|
1969
1955
|
export const RelationRequestBodySchema = /*@__PURE__*/
|
|
1970
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1956
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 267);
|
|
1971
1957
|
|
|
1972
1958
|
/**
|
|
1973
1959
|
* Describes the message raystack.frontier.v1beta1.CreateRelationRequest.
|
|
1974
1960
|
* Use `create(CreateRelationRequestSchema)` to create a new message.
|
|
1975
1961
|
*/
|
|
1976
1962
|
export const CreateRelationRequestSchema = /*@__PURE__*/
|
|
1977
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1963
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 268);
|
|
1978
1964
|
|
|
1979
1965
|
/**
|
|
1980
1966
|
* Describes the message raystack.frontier.v1beta1.CreateRelationResponse.
|
|
1981
1967
|
* Use `create(CreateRelationResponseSchema)` to create a new message.
|
|
1982
1968
|
*/
|
|
1983
1969
|
export const CreateRelationResponseSchema = /*@__PURE__*/
|
|
1984
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1970
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 269);
|
|
1985
1971
|
|
|
1986
1972
|
/**
|
|
1987
1973
|
* Describes the message raystack.frontier.v1beta1.GetRelationRequest.
|
|
1988
1974
|
* Use `create(GetRelationRequestSchema)` to create a new message.
|
|
1989
1975
|
*/
|
|
1990
1976
|
export const GetRelationRequestSchema = /*@__PURE__*/
|
|
1991
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1977
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 270);
|
|
1992
1978
|
|
|
1993
1979
|
/**
|
|
1994
1980
|
* Describes the message raystack.frontier.v1beta1.GetRelationResponse.
|
|
1995
1981
|
* Use `create(GetRelationResponseSchema)` to create a new message.
|
|
1996
1982
|
*/
|
|
1997
1983
|
export const GetRelationResponseSchema = /*@__PURE__*/
|
|
1998
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1984
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 271);
|
|
1999
1985
|
|
|
2000
1986
|
/**
|
|
2001
1987
|
* Describes the message raystack.frontier.v1beta1.UpdateRelationRequest.
|
|
2002
1988
|
* Use `create(UpdateRelationRequestSchema)` to create a new message.
|
|
2003
1989
|
*/
|
|
2004
1990
|
export const UpdateRelationRequestSchema = /*@__PURE__*/
|
|
2005
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1991
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 272);
|
|
2006
1992
|
|
|
2007
1993
|
/**
|
|
2008
1994
|
* Describes the message raystack.frontier.v1beta1.UpdateRelationResponse.
|
|
2009
1995
|
* Use `create(UpdateRelationResponseSchema)` to create a new message.
|
|
2010
1996
|
*/
|
|
2011
1997
|
export const UpdateRelationResponseSchema = /*@__PURE__*/
|
|
2012
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
1998
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 273);
|
|
2013
1999
|
|
|
2014
2000
|
/**
|
|
2015
2001
|
* Describes the message raystack.frontier.v1beta1.GroupRequestBody.
|
|
2016
2002
|
* Use `create(GroupRequestBodySchema)` to create a new message.
|
|
2017
2003
|
*/
|
|
2018
2004
|
export const GroupRequestBodySchema = /*@__PURE__*/
|
|
2019
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2005
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 274);
|
|
2020
2006
|
|
|
2021
2007
|
/**
|
|
2022
2008
|
* Describes the message raystack.frontier.v1beta1.CreateGroupRequest.
|
|
2023
2009
|
* Use `create(CreateGroupRequestSchema)` to create a new message.
|
|
2024
2010
|
*/
|
|
2025
2011
|
export const CreateGroupRequestSchema = /*@__PURE__*/
|
|
2026
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2012
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 275);
|
|
2027
2013
|
|
|
2028
2014
|
/**
|
|
2029
2015
|
* Describes the message raystack.frontier.v1beta1.GetGroupRequest.
|
|
2030
2016
|
* Use `create(GetGroupRequestSchema)` to create a new message.
|
|
2031
2017
|
*/
|
|
2032
2018
|
export const GetGroupRequestSchema = /*@__PURE__*/
|
|
2033
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2019
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 276);
|
|
2034
2020
|
|
|
2035
2021
|
/**
|
|
2036
2022
|
* Describes the message raystack.frontier.v1beta1.CreateGroupResponse.
|
|
2037
2023
|
* Use `create(CreateGroupResponseSchema)` to create a new message.
|
|
2038
2024
|
*/
|
|
2039
2025
|
export const CreateGroupResponseSchema = /*@__PURE__*/
|
|
2040
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2026
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 277);
|
|
2041
2027
|
|
|
2042
2028
|
/**
|
|
2043
2029
|
* Describes the message raystack.frontier.v1beta1.GetGroupResponse.
|
|
2044
2030
|
* Use `create(GetGroupResponseSchema)` to create a new message.
|
|
2045
2031
|
*/
|
|
2046
2032
|
export const GetGroupResponseSchema = /*@__PURE__*/
|
|
2047
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2033
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 278);
|
|
2048
2034
|
|
|
2049
2035
|
/**
|
|
2050
2036
|
* Describes the message raystack.frontier.v1beta1.UpdateGroupResponse.
|
|
2051
2037
|
* Use `create(UpdateGroupResponseSchema)` to create a new message.
|
|
2052
2038
|
*/
|
|
2053
2039
|
export const UpdateGroupResponseSchema = /*@__PURE__*/
|
|
2054
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2040
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 279);
|
|
2055
2041
|
|
|
2056
2042
|
/**
|
|
2057
2043
|
* Describes the message raystack.frontier.v1beta1.UpdateGroupRequest.
|
|
2058
2044
|
* Use `create(UpdateGroupRequestSchema)` to create a new message.
|
|
2059
2045
|
*/
|
|
2060
2046
|
export const UpdateGroupRequestSchema = /*@__PURE__*/
|
|
2061
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2047
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 280);
|
|
2062
2048
|
|
|
2063
2049
|
/**
|
|
2064
2050
|
* Describes the message raystack.frontier.v1beta1.ListGroupUsersRequest.
|
|
2065
2051
|
* Use `create(ListGroupUsersRequestSchema)` to create a new message.
|
|
2066
2052
|
*/
|
|
2067
2053
|
export const ListGroupUsersRequestSchema = /*@__PURE__*/
|
|
2068
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2054
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 281);
|
|
2069
2055
|
|
|
2070
2056
|
/**
|
|
2071
2057
|
* Describes the message raystack.frontier.v1beta1.ListGroupUsersResponse.
|
|
2072
2058
|
* Use `create(ListGroupUsersResponseSchema)` to create a new message.
|
|
2073
2059
|
*/
|
|
2074
2060
|
export const ListGroupUsersResponseSchema = /*@__PURE__*/
|
|
2075
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2061
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 282);
|
|
2076
2062
|
|
|
2077
2063
|
/**
|
|
2078
2064
|
* Describes the message raystack.frontier.v1beta1.ListGroupUsersResponse.RolePair.
|
|
2079
2065
|
* Use `create(ListGroupUsersResponse_RolePairSchema)` to create a new message.
|
|
2080
2066
|
*/
|
|
2081
2067
|
export const ListGroupUsersResponse_RolePairSchema = /*@__PURE__*/
|
|
2082
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2068
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 282, 0);
|
|
2083
2069
|
|
|
2084
2070
|
/**
|
|
2085
2071
|
* Describes the message raystack.frontier.v1beta1.EnableGroupRequest.
|
|
2086
2072
|
* Use `create(EnableGroupRequestSchema)` to create a new message.
|
|
2087
2073
|
*/
|
|
2088
2074
|
export const EnableGroupRequestSchema = /*@__PURE__*/
|
|
2089
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2075
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 283);
|
|
2090
2076
|
|
|
2091
2077
|
/**
|
|
2092
2078
|
* Describes the message raystack.frontier.v1beta1.EnableGroupResponse.
|
|
2093
2079
|
* Use `create(EnableGroupResponseSchema)` to create a new message.
|
|
2094
2080
|
*/
|
|
2095
2081
|
export const EnableGroupResponseSchema = /*@__PURE__*/
|
|
2096
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2082
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 284);
|
|
2097
2083
|
|
|
2098
2084
|
/**
|
|
2099
2085
|
* Describes the message raystack.frontier.v1beta1.DisableGroupRequest.
|
|
2100
2086
|
* Use `create(DisableGroupRequestSchema)` to create a new message.
|
|
2101
2087
|
*/
|
|
2102
2088
|
export const DisableGroupRequestSchema = /*@__PURE__*/
|
|
2103
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2089
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 285);
|
|
2104
2090
|
|
|
2105
2091
|
/**
|
|
2106
2092
|
* Describes the message raystack.frontier.v1beta1.DisableGroupResponse.
|
|
2107
2093
|
* Use `create(DisableGroupResponseSchema)` to create a new message.
|
|
2108
2094
|
*/
|
|
2109
2095
|
export const DisableGroupResponseSchema = /*@__PURE__*/
|
|
2110
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2096
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 286);
|
|
2111
2097
|
|
|
2112
2098
|
/**
|
|
2113
2099
|
* Describes the message raystack.frontier.v1beta1.DeleteGroupRequest.
|
|
2114
2100
|
* Use `create(DeleteGroupRequestSchema)` to create a new message.
|
|
2115
2101
|
*/
|
|
2116
2102
|
export const DeleteGroupRequestSchema = /*@__PURE__*/
|
|
2117
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2103
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 287);
|
|
2118
2104
|
|
|
2119
2105
|
/**
|
|
2120
2106
|
* Describes the message raystack.frontier.v1beta1.DeleteGroupResponse.
|
|
2121
2107
|
* Use `create(DeleteGroupResponseSchema)` to create a new message.
|
|
2122
2108
|
*/
|
|
2123
2109
|
export const DeleteGroupResponseSchema = /*@__PURE__*/
|
|
2124
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2110
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 288);
|
|
2125
2111
|
|
|
2126
2112
|
/**
|
|
2127
2113
|
* Describes the message raystack.frontier.v1beta1.AddGroupUsersRequest.
|
|
2128
2114
|
* Use `create(AddGroupUsersRequestSchema)` to create a new message.
|
|
2129
2115
|
*/
|
|
2130
2116
|
export const AddGroupUsersRequestSchema = /*@__PURE__*/
|
|
2131
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2117
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 289);
|
|
2132
2118
|
|
|
2133
2119
|
/**
|
|
2134
2120
|
* Describes the message raystack.frontier.v1beta1.AddGroupUsersResponse.
|
|
2135
2121
|
* Use `create(AddGroupUsersResponseSchema)` to create a new message.
|
|
2136
2122
|
*/
|
|
2137
2123
|
export const AddGroupUsersResponseSchema = /*@__PURE__*/
|
|
2138
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2124
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 290);
|
|
2139
2125
|
|
|
2140
2126
|
/**
|
|
2141
2127
|
* Describes the message raystack.frontier.v1beta1.RemoveGroupUserRequest.
|
|
2142
2128
|
* Use `create(RemoveGroupUserRequestSchema)` to create a new message.
|
|
2143
2129
|
*/
|
|
2144
2130
|
export const RemoveGroupUserRequestSchema = /*@__PURE__*/
|
|
2145
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2131
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 291);
|
|
2146
2132
|
|
|
2147
2133
|
/**
|
|
2148
2134
|
* Describes the message raystack.frontier.v1beta1.RemoveGroupUserResponse.
|
|
2149
2135
|
* Use `create(RemoveGroupUserResponseSchema)` to create a new message.
|
|
2150
2136
|
*/
|
|
2151
2137
|
export const RemoveGroupUserResponseSchema = /*@__PURE__*/
|
|
2152
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2138
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 292);
|
|
2153
2139
|
|
|
2154
2140
|
/**
|
|
2155
2141
|
* Describes the message raystack.frontier.v1beta1.DeleteRelationRequest.
|
|
2156
2142
|
* Use `create(DeleteRelationRequestSchema)` to create a new message.
|
|
2157
2143
|
*/
|
|
2158
2144
|
export const DeleteRelationRequestSchema = /*@__PURE__*/
|
|
2159
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2145
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 293);
|
|
2160
2146
|
|
|
2161
2147
|
/**
|
|
2162
2148
|
* Describes the message raystack.frontier.v1beta1.DeleteRelationResponse.
|
|
2163
2149
|
* Use `create(DeleteRelationResponseSchema)` to create a new message.
|
|
2164
2150
|
*/
|
|
2165
2151
|
export const DeleteRelationResponseSchema = /*@__PURE__*/
|
|
2166
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2152
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 294);
|
|
2167
2153
|
|
|
2168
2154
|
/**
|
|
2169
2155
|
* Describes the message raystack.frontier.v1beta1.ListProjectResourcesRequest.
|
|
2170
2156
|
* Use `create(ListProjectResourcesRequestSchema)` to create a new message.
|
|
2171
2157
|
*/
|
|
2172
2158
|
export const ListProjectResourcesRequestSchema = /*@__PURE__*/
|
|
2173
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2159
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 295);
|
|
2174
2160
|
|
|
2175
2161
|
/**
|
|
2176
2162
|
* Describes the message raystack.frontier.v1beta1.ListProjectResourcesResponse.
|
|
2177
2163
|
* Use `create(ListProjectResourcesResponseSchema)` to create a new message.
|
|
2178
2164
|
*/
|
|
2179
2165
|
export const ListProjectResourcesResponseSchema = /*@__PURE__*/
|
|
2180
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2166
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 296);
|
|
2181
2167
|
|
|
2182
2168
|
/**
|
|
2183
2169
|
* Describes the message raystack.frontier.v1beta1.ResourceRequestBody.
|
|
2184
2170
|
* Use `create(ResourceRequestBodySchema)` to create a new message.
|
|
2185
2171
|
*/
|
|
2186
2172
|
export const ResourceRequestBodySchema = /*@__PURE__*/
|
|
2187
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2173
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 297);
|
|
2188
2174
|
|
|
2189
2175
|
/**
|
|
2190
2176
|
* Describes the message raystack.frontier.v1beta1.CreateProjectResourceRequest.
|
|
2191
2177
|
* Use `create(CreateProjectResourceRequestSchema)` to create a new message.
|
|
2192
2178
|
*/
|
|
2193
2179
|
export const CreateProjectResourceRequestSchema = /*@__PURE__*/
|
|
2194
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2180
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 298);
|
|
2195
2181
|
|
|
2196
2182
|
/**
|
|
2197
2183
|
* Describes the message raystack.frontier.v1beta1.CreateProjectResourceResponse.
|
|
2198
2184
|
* Use `create(CreateProjectResourceResponseSchema)` to create a new message.
|
|
2199
2185
|
*/
|
|
2200
2186
|
export const CreateProjectResourceResponseSchema = /*@__PURE__*/
|
|
2201
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2187
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 299);
|
|
2202
2188
|
|
|
2203
2189
|
/**
|
|
2204
2190
|
* Describes the message raystack.frontier.v1beta1.GetProjectResourceRequest.
|
|
2205
2191
|
* Use `create(GetProjectResourceRequestSchema)` to create a new message.
|
|
2206
2192
|
*/
|
|
2207
2193
|
export const GetProjectResourceRequestSchema = /*@__PURE__*/
|
|
2208
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2194
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 300);
|
|
2209
2195
|
|
|
2210
2196
|
/**
|
|
2211
2197
|
* Describes the message raystack.frontier.v1beta1.GetProjectResourceResponse.
|
|
2212
2198
|
* Use `create(GetProjectResourceResponseSchema)` to create a new message.
|
|
2213
2199
|
*/
|
|
2214
2200
|
export const GetProjectResourceResponseSchema = /*@__PURE__*/
|
|
2215
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2201
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 301);
|
|
2216
2202
|
|
|
2217
2203
|
/**
|
|
2218
2204
|
* Describes the message raystack.frontier.v1beta1.UpdateProjectResourceRequest.
|
|
2219
2205
|
* Use `create(UpdateProjectResourceRequestSchema)` to create a new message.
|
|
2220
2206
|
*/
|
|
2221
2207
|
export const UpdateProjectResourceRequestSchema = /*@__PURE__*/
|
|
2222
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2208
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 302);
|
|
2223
2209
|
|
|
2224
2210
|
/**
|
|
2225
2211
|
* Describes the message raystack.frontier.v1beta1.UpdateProjectResourceResponse.
|
|
2226
2212
|
* Use `create(UpdateProjectResourceResponseSchema)` to create a new message.
|
|
2227
2213
|
*/
|
|
2228
2214
|
export const UpdateProjectResourceResponseSchema = /*@__PURE__*/
|
|
2229
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2215
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 303);
|
|
2230
2216
|
|
|
2231
2217
|
/**
|
|
2232
2218
|
* Describes the message raystack.frontier.v1beta1.DeleteProjectResourceRequest.
|
|
2233
2219
|
* Use `create(DeleteProjectResourceRequestSchema)` to create a new message.
|
|
2234
2220
|
*/
|
|
2235
2221
|
export const DeleteProjectResourceRequestSchema = /*@__PURE__*/
|
|
2236
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2222
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 304);
|
|
2237
2223
|
|
|
2238
2224
|
/**
|
|
2239
2225
|
* Describes the message raystack.frontier.v1beta1.DeleteProjectResourceResponse.
|
|
2240
2226
|
* Use `create(DeleteProjectResourceResponseSchema)` to create a new message.
|
|
2241
2227
|
*/
|
|
2242
2228
|
export const DeleteProjectResourceResponseSchema = /*@__PURE__*/
|
|
2243
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2229
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 305);
|
|
2244
2230
|
|
|
2245
2231
|
/**
|
|
2246
2232
|
* Describes the message raystack.frontier.v1beta1.CheckResourcePermissionRequest.
|
|
2247
2233
|
* Use `create(CheckResourcePermissionRequestSchema)` to create a new message.
|
|
2248
2234
|
*/
|
|
2249
2235
|
export const CheckResourcePermissionRequestSchema = /*@__PURE__*/
|
|
2250
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2236
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 306);
|
|
2251
2237
|
|
|
2252
2238
|
/**
|
|
2253
2239
|
* Describes the message raystack.frontier.v1beta1.CheckResourcePermissionResponse.
|
|
2254
2240
|
* Use `create(CheckResourcePermissionResponseSchema)` to create a new message.
|
|
2255
2241
|
*/
|
|
2256
2242
|
export const CheckResourcePermissionResponseSchema = /*@__PURE__*/
|
|
2257
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2243
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 307);
|
|
2258
2244
|
|
|
2259
2245
|
/**
|
|
2260
2246
|
* Describes the message raystack.frontier.v1beta1.BatchCheckPermissionRequest.
|
|
2261
2247
|
* Use `create(BatchCheckPermissionRequestSchema)` to create a new message.
|
|
2262
2248
|
*/
|
|
2263
2249
|
export const BatchCheckPermissionRequestSchema = /*@__PURE__*/
|
|
2264
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2250
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 308);
|
|
2265
2251
|
|
|
2266
2252
|
/**
|
|
2267
2253
|
* Describes the message raystack.frontier.v1beta1.BatchCheckPermissionBody.
|
|
2268
2254
|
* Use `create(BatchCheckPermissionBodySchema)` to create a new message.
|
|
2269
2255
|
*/
|
|
2270
2256
|
export const BatchCheckPermissionBodySchema = /*@__PURE__*/
|
|
2271
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2257
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 309);
|
|
2272
2258
|
|
|
2273
2259
|
/**
|
|
2274
2260
|
* Describes the message raystack.frontier.v1beta1.BatchCheckPermissionResponse.
|
|
2275
2261
|
* Use `create(BatchCheckPermissionResponseSchema)` to create a new message.
|
|
2276
2262
|
*/
|
|
2277
2263
|
export const BatchCheckPermissionResponseSchema = /*@__PURE__*/
|
|
2278
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2264
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 310);
|
|
2279
2265
|
|
|
2280
2266
|
/**
|
|
2281
2267
|
* Describes the message raystack.frontier.v1beta1.BatchCheckPermissionResponsePair.
|
|
2282
2268
|
* Use `create(BatchCheckPermissionResponsePairSchema)` to create a new message.
|
|
2283
2269
|
*/
|
|
2284
2270
|
export const BatchCheckPermissionResponsePairSchema = /*@__PURE__*/
|
|
2285
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2271
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 311);
|
|
2286
2272
|
|
|
2287
2273
|
/**
|
|
2288
2274
|
* Describes the message raystack.frontier.v1beta1.MetaSchemaRequestBody.
|
|
2289
2275
|
* Use `create(MetaSchemaRequestBodySchema)` to create a new message.
|
|
2290
2276
|
*/
|
|
2291
2277
|
export const MetaSchemaRequestBodySchema = /*@__PURE__*/
|
|
2292
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2278
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 312);
|
|
2293
2279
|
|
|
2294
2280
|
/**
|
|
2295
2281
|
* Describes the message raystack.frontier.v1beta1.CreateMetaSchemaRequest.
|
|
2296
2282
|
* Use `create(CreateMetaSchemaRequestSchema)` to create a new message.
|
|
2297
2283
|
*/
|
|
2298
2284
|
export const CreateMetaSchemaRequestSchema = /*@__PURE__*/
|
|
2299
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2285
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 313);
|
|
2300
2286
|
|
|
2301
2287
|
/**
|
|
2302
2288
|
* Describes the message raystack.frontier.v1beta1.CreateMetaSchemaResponse.
|
|
2303
2289
|
* Use `create(CreateMetaSchemaResponseSchema)` to create a new message.
|
|
2304
2290
|
*/
|
|
2305
2291
|
export const CreateMetaSchemaResponseSchema = /*@__PURE__*/
|
|
2306
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2292
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 314);
|
|
2307
2293
|
|
|
2308
2294
|
/**
|
|
2309
2295
|
* Describes the message raystack.frontier.v1beta1.GetMetaSchemaRequest.
|
|
2310
2296
|
* Use `create(GetMetaSchemaRequestSchema)` to create a new message.
|
|
2311
2297
|
*/
|
|
2312
2298
|
export const GetMetaSchemaRequestSchema = /*@__PURE__*/
|
|
2313
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2299
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 315);
|
|
2314
2300
|
|
|
2315
2301
|
/**
|
|
2316
2302
|
* Describes the message raystack.frontier.v1beta1.GetMetaSchemaResponse.
|
|
2317
2303
|
* Use `create(GetMetaSchemaResponseSchema)` to create a new message.
|
|
2318
2304
|
*/
|
|
2319
2305
|
export const GetMetaSchemaResponseSchema = /*@__PURE__*/
|
|
2320
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2306
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 316);
|
|
2321
2307
|
|
|
2322
2308
|
/**
|
|
2323
2309
|
* Describes the message raystack.frontier.v1beta1.UpdateMetaSchemaRequest.
|
|
2324
2310
|
* Use `create(UpdateMetaSchemaRequestSchema)` to create a new message.
|
|
2325
2311
|
*/
|
|
2326
2312
|
export const UpdateMetaSchemaRequestSchema = /*@__PURE__*/
|
|
2327
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2313
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 317);
|
|
2328
2314
|
|
|
2329
2315
|
/**
|
|
2330
2316
|
* Describes the message raystack.frontier.v1beta1.UpdateMetaSchemaResponse.
|
|
2331
2317
|
* Use `create(UpdateMetaSchemaResponseSchema)` to create a new message.
|
|
2332
2318
|
*/
|
|
2333
2319
|
export const UpdateMetaSchemaResponseSchema = /*@__PURE__*/
|
|
2334
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2320
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 318);
|
|
2335
2321
|
|
|
2336
2322
|
/**
|
|
2337
2323
|
* Describes the message raystack.frontier.v1beta1.DeleteMetaSchemaRequest.
|
|
2338
2324
|
* Use `create(DeleteMetaSchemaRequestSchema)` to create a new message.
|
|
2339
2325
|
*/
|
|
2340
2326
|
export const DeleteMetaSchemaRequestSchema = /*@__PURE__*/
|
|
2341
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2327
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 319);
|
|
2342
2328
|
|
|
2343
2329
|
/**
|
|
2344
2330
|
* Describes the message raystack.frontier.v1beta1.DeleteMetaSchemaResponse.
|
|
2345
2331
|
* Use `create(DeleteMetaSchemaResponseSchema)` to create a new message.
|
|
2346
2332
|
*/
|
|
2347
2333
|
export const DeleteMetaSchemaResponseSchema = /*@__PURE__*/
|
|
2348
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2334
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 320);
|
|
2349
2335
|
|
|
2350
2336
|
/**
|
|
2351
2337
|
* Describes the message raystack.frontier.v1beta1.ListMetaSchemasRequest.
|
|
2352
2338
|
* Use `create(ListMetaSchemasRequestSchema)` to create a new message.
|
|
2353
2339
|
*/
|
|
2354
2340
|
export const ListMetaSchemasRequestSchema = /*@__PURE__*/
|
|
2355
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2341
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 321);
|
|
2356
2342
|
|
|
2357
2343
|
/**
|
|
2358
2344
|
* Describes the message raystack.frontier.v1beta1.ListMetaSchemasResponse.
|
|
2359
2345
|
* Use `create(ListMetaSchemasResponseSchema)` to create a new message.
|
|
2360
2346
|
*/
|
|
2361
2347
|
export const ListMetaSchemasResponseSchema = /*@__PURE__*/
|
|
2362
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2363
|
-
|
|
2364
|
-
/**
|
|
2365
|
-
* Describes the message raystack.frontier.v1beta1.ListOrganizationAuditLogsRequest.
|
|
2366
|
-
* Use `create(ListOrganizationAuditLogsRequestSchema)` to create a new message.
|
|
2367
|
-
*/
|
|
2368
|
-
export const ListOrganizationAuditLogsRequestSchema = /*@__PURE__*/
|
|
2369
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 325);
|
|
2370
|
-
|
|
2371
|
-
/**
|
|
2372
|
-
* Describes the message raystack.frontier.v1beta1.ListOrganizationAuditLogsResponse.
|
|
2373
|
-
* Use `create(ListOrganizationAuditLogsResponseSchema)` to create a new message.
|
|
2374
|
-
*/
|
|
2375
|
-
export const ListOrganizationAuditLogsResponseSchema = /*@__PURE__*/
|
|
2376
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 326);
|
|
2377
|
-
|
|
2378
|
-
/**
|
|
2379
|
-
* Describes the message raystack.frontier.v1beta1.CreateOrganizationAuditLogsRequest.
|
|
2380
|
-
* Use `create(CreateOrganizationAuditLogsRequestSchema)` to create a new message.
|
|
2381
|
-
*/
|
|
2382
|
-
export const CreateOrganizationAuditLogsRequestSchema = /*@__PURE__*/
|
|
2383
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 327);
|
|
2384
|
-
|
|
2385
|
-
/**
|
|
2386
|
-
* Describes the message raystack.frontier.v1beta1.CreateOrganizationAuditLogsResponse.
|
|
2387
|
-
* Use `create(CreateOrganizationAuditLogsResponseSchema)` to create a new message.
|
|
2388
|
-
*/
|
|
2389
|
-
export const CreateOrganizationAuditLogsResponseSchema = /*@__PURE__*/
|
|
2390
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 328);
|
|
2391
|
-
|
|
2392
|
-
/**
|
|
2393
|
-
* Describes the message raystack.frontier.v1beta1.GetOrganizationAuditLogRequest.
|
|
2394
|
-
* Use `create(GetOrganizationAuditLogRequestSchema)` to create a new message.
|
|
2395
|
-
*/
|
|
2396
|
-
export const GetOrganizationAuditLogRequestSchema = /*@__PURE__*/
|
|
2397
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 329);
|
|
2398
|
-
|
|
2399
|
-
/**
|
|
2400
|
-
* Describes the message raystack.frontier.v1beta1.GetOrganizationAuditLogResponse.
|
|
2401
|
-
* Use `create(GetOrganizationAuditLogResponseSchema)` to create a new message.
|
|
2402
|
-
*/
|
|
2403
|
-
export const GetOrganizationAuditLogResponseSchema = /*@__PURE__*/
|
|
2404
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier, 330);
|
|
2348
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 322);
|
|
2405
2349
|
|
|
2406
2350
|
/**
|
|
2407
2351
|
* Describes the message raystack.frontier.v1beta1.DescribePreferencesRequest.
|
|
2408
2352
|
* Use `create(DescribePreferencesRequestSchema)` to create a new message.
|
|
2409
2353
|
*/
|
|
2410
2354
|
export const DescribePreferencesRequestSchema = /*@__PURE__*/
|
|
2411
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2355
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 323);
|
|
2412
2356
|
|
|
2413
2357
|
/**
|
|
2414
2358
|
* Describes the message raystack.frontier.v1beta1.DescribePreferencesResponse.
|
|
2415
2359
|
* Use `create(DescribePreferencesResponseSchema)` to create a new message.
|
|
2416
2360
|
*/
|
|
2417
2361
|
export const DescribePreferencesResponseSchema = /*@__PURE__*/
|
|
2418
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2362
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 324);
|
|
2419
2363
|
|
|
2420
2364
|
/**
|
|
2421
2365
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationPreferencesRequest.
|
|
2422
2366
|
* Use `create(CreateOrganizationPreferencesRequestSchema)` to create a new message.
|
|
2423
2367
|
*/
|
|
2424
2368
|
export const CreateOrganizationPreferencesRequestSchema = /*@__PURE__*/
|
|
2425
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2369
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 325);
|
|
2426
2370
|
|
|
2427
2371
|
/**
|
|
2428
2372
|
* Describes the message raystack.frontier.v1beta1.CreateOrganizationPreferencesResponse.
|
|
2429
2373
|
* Use `create(CreateOrganizationPreferencesResponseSchema)` to create a new message.
|
|
2430
2374
|
*/
|
|
2431
2375
|
export const CreateOrganizationPreferencesResponseSchema = /*@__PURE__*/
|
|
2432
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2376
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 326);
|
|
2433
2377
|
|
|
2434
2378
|
/**
|
|
2435
2379
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationPreferencesRequest.
|
|
2436
2380
|
* Use `create(ListOrganizationPreferencesRequestSchema)` to create a new message.
|
|
2437
2381
|
*/
|
|
2438
2382
|
export const ListOrganizationPreferencesRequestSchema = /*@__PURE__*/
|
|
2439
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2383
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 327);
|
|
2440
2384
|
|
|
2441
2385
|
/**
|
|
2442
2386
|
* Describes the message raystack.frontier.v1beta1.ListOrganizationPreferencesResponse.
|
|
2443
2387
|
* Use `create(ListOrganizationPreferencesResponseSchema)` to create a new message.
|
|
2444
2388
|
*/
|
|
2445
2389
|
export const ListOrganizationPreferencesResponseSchema = /*@__PURE__*/
|
|
2446
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2390
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 328);
|
|
2447
2391
|
|
|
2448
2392
|
/**
|
|
2449
2393
|
* Describes the message raystack.frontier.v1beta1.CreateProjectPreferencesRequest.
|
|
2450
2394
|
* Use `create(CreateProjectPreferencesRequestSchema)` to create a new message.
|
|
2451
2395
|
*/
|
|
2452
2396
|
export const CreateProjectPreferencesRequestSchema = /*@__PURE__*/
|
|
2453
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2397
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 329);
|
|
2454
2398
|
|
|
2455
2399
|
/**
|
|
2456
2400
|
* Describes the message raystack.frontier.v1beta1.CreateProjectPreferencesResponse.
|
|
2457
2401
|
* Use `create(CreateProjectPreferencesResponseSchema)` to create a new message.
|
|
2458
2402
|
*/
|
|
2459
2403
|
export const CreateProjectPreferencesResponseSchema = /*@__PURE__*/
|
|
2460
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2404
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 330);
|
|
2461
2405
|
|
|
2462
2406
|
/**
|
|
2463
2407
|
* Describes the message raystack.frontier.v1beta1.ListProjectPreferencesRequest.
|
|
2464
2408
|
* Use `create(ListProjectPreferencesRequestSchema)` to create a new message.
|
|
2465
2409
|
*/
|
|
2466
2410
|
export const ListProjectPreferencesRequestSchema = /*@__PURE__*/
|
|
2467
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2411
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 331);
|
|
2468
2412
|
|
|
2469
2413
|
/**
|
|
2470
2414
|
* Describes the message raystack.frontier.v1beta1.ListProjectPreferencesResponse.
|
|
2471
2415
|
* Use `create(ListProjectPreferencesResponseSchema)` to create a new message.
|
|
2472
2416
|
*/
|
|
2473
2417
|
export const ListProjectPreferencesResponseSchema = /*@__PURE__*/
|
|
2474
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2418
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 332);
|
|
2475
2419
|
|
|
2476
2420
|
/**
|
|
2477
2421
|
* Describes the message raystack.frontier.v1beta1.CreateGroupPreferencesRequest.
|
|
2478
2422
|
* Use `create(CreateGroupPreferencesRequestSchema)` to create a new message.
|
|
2479
2423
|
*/
|
|
2480
2424
|
export const CreateGroupPreferencesRequestSchema = /*@__PURE__*/
|
|
2481
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2425
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 333);
|
|
2482
2426
|
|
|
2483
2427
|
/**
|
|
2484
2428
|
* Describes the message raystack.frontier.v1beta1.CreateGroupPreferencesResponse.
|
|
2485
2429
|
* Use `create(CreateGroupPreferencesResponseSchema)` to create a new message.
|
|
2486
2430
|
*/
|
|
2487
2431
|
export const CreateGroupPreferencesResponseSchema = /*@__PURE__*/
|
|
2488
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2432
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 334);
|
|
2489
2433
|
|
|
2490
2434
|
/**
|
|
2491
2435
|
* Describes the message raystack.frontier.v1beta1.ListGroupPreferencesRequest.
|
|
2492
2436
|
* Use `create(ListGroupPreferencesRequestSchema)` to create a new message.
|
|
2493
2437
|
*/
|
|
2494
2438
|
export const ListGroupPreferencesRequestSchema = /*@__PURE__*/
|
|
2495
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2439
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 335);
|
|
2496
2440
|
|
|
2497
2441
|
/**
|
|
2498
2442
|
* Describes the message raystack.frontier.v1beta1.ListGroupPreferencesResponse.
|
|
2499
2443
|
* Use `create(ListGroupPreferencesResponseSchema)` to create a new message.
|
|
2500
2444
|
*/
|
|
2501
2445
|
export const ListGroupPreferencesResponseSchema = /*@__PURE__*/
|
|
2502
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2446
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 336);
|
|
2503
2447
|
|
|
2504
2448
|
/**
|
|
2505
2449
|
* Describes the message raystack.frontier.v1beta1.CreateUserPreferencesRequest.
|
|
2506
2450
|
* Use `create(CreateUserPreferencesRequestSchema)` to create a new message.
|
|
2507
2451
|
*/
|
|
2508
2452
|
export const CreateUserPreferencesRequestSchema = /*@__PURE__*/
|
|
2509
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2453
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 337);
|
|
2510
2454
|
|
|
2511
2455
|
/**
|
|
2512
2456
|
* Describes the message raystack.frontier.v1beta1.CreateUserPreferencesResponse.
|
|
2513
2457
|
* Use `create(CreateUserPreferencesResponseSchema)` to create a new message.
|
|
2514
2458
|
*/
|
|
2515
2459
|
export const CreateUserPreferencesResponseSchema = /*@__PURE__*/
|
|
2516
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2460
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 338);
|
|
2517
2461
|
|
|
2518
2462
|
/**
|
|
2519
2463
|
* Describes the message raystack.frontier.v1beta1.ListUserPreferencesRequest.
|
|
2520
2464
|
* Use `create(ListUserPreferencesRequestSchema)` to create a new message.
|
|
2521
2465
|
*/
|
|
2522
2466
|
export const ListUserPreferencesRequestSchema = /*@__PURE__*/
|
|
2523
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2467
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 339);
|
|
2524
2468
|
|
|
2525
2469
|
/**
|
|
2526
2470
|
* Describes the message raystack.frontier.v1beta1.ListUserPreferencesResponse.
|
|
2527
2471
|
* Use `create(ListUserPreferencesResponseSchema)` to create a new message.
|
|
2528
2472
|
*/
|
|
2529
2473
|
export const ListUserPreferencesResponseSchema = /*@__PURE__*/
|
|
2530
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2474
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 340);
|
|
2531
2475
|
|
|
2532
2476
|
/**
|
|
2533
2477
|
* Describes the message raystack.frontier.v1beta1.CreateCurrentUserPreferencesRequest.
|
|
2534
2478
|
* Use `create(CreateCurrentUserPreferencesRequestSchema)` to create a new message.
|
|
2535
2479
|
*/
|
|
2536
2480
|
export const CreateCurrentUserPreferencesRequestSchema = /*@__PURE__*/
|
|
2537
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2481
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 341);
|
|
2538
2482
|
|
|
2539
2483
|
/**
|
|
2540
2484
|
* Describes the message raystack.frontier.v1beta1.CreateCurrentUserPreferencesResponse.
|
|
2541
2485
|
* Use `create(CreateCurrentUserPreferencesResponseSchema)` to create a new message.
|
|
2542
2486
|
*/
|
|
2543
2487
|
export const CreateCurrentUserPreferencesResponseSchema = /*@__PURE__*/
|
|
2544
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2488
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 342);
|
|
2545
2489
|
|
|
2546
2490
|
/**
|
|
2547
2491
|
* Describes the message raystack.frontier.v1beta1.ListCurrentUserPreferencesRequest.
|
|
2548
2492
|
* Use `create(ListCurrentUserPreferencesRequestSchema)` to create a new message.
|
|
2549
2493
|
*/
|
|
2550
2494
|
export const ListCurrentUserPreferencesRequestSchema = /*@__PURE__*/
|
|
2551
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2495
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 343);
|
|
2552
2496
|
|
|
2553
2497
|
/**
|
|
2554
2498
|
* Describes the message raystack.frontier.v1beta1.ListCurrentUserPreferencesResponse.
|
|
2555
2499
|
* Use `create(ListCurrentUserPreferencesResponseSchema)` to create a new message.
|
|
2556
2500
|
*/
|
|
2557
2501
|
export const ListCurrentUserPreferencesResponseSchema = /*@__PURE__*/
|
|
2558
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2502
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 344);
|
|
2559
2503
|
|
|
2560
2504
|
/**
|
|
2561
2505
|
* Describes the message raystack.frontier.v1beta1.BillingWebhookCallbackRequest.
|
|
2562
2506
|
* Use `create(BillingWebhookCallbackRequestSchema)` to create a new message.
|
|
2563
2507
|
*/
|
|
2564
2508
|
export const BillingWebhookCallbackRequestSchema = /*@__PURE__*/
|
|
2565
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2509
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 345);
|
|
2566
2510
|
|
|
2567
2511
|
/**
|
|
2568
2512
|
* Describes the message raystack.frontier.v1beta1.BillingWebhookCallbackResponse.
|
|
2569
2513
|
* Use `create(BillingWebhookCallbackResponseSchema)` to create a new message.
|
|
2570
2514
|
*/
|
|
2571
2515
|
export const BillingWebhookCallbackResponseSchema = /*@__PURE__*/
|
|
2572
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2516
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 346);
|
|
2573
2517
|
|
|
2574
2518
|
/**
|
|
2575
2519
|
* Describes the message raystack.frontier.v1beta1.CreateProspectPublicRequest.
|
|
2576
2520
|
* Use `create(CreateProspectPublicRequestSchema)` to create a new message.
|
|
2577
2521
|
*/
|
|
2578
2522
|
export const CreateProspectPublicRequestSchema = /*@__PURE__*/
|
|
2579
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2523
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 347);
|
|
2580
2524
|
|
|
2581
2525
|
/**
|
|
2582
2526
|
* Describes the message raystack.frontier.v1beta1.CreateProspectPublicResponse.
|
|
2583
2527
|
* Use `create(CreateProspectPublicResponseSchema)` to create a new message.
|
|
2584
2528
|
*/
|
|
2585
2529
|
export const CreateProspectPublicResponseSchema = /*@__PURE__*/
|
|
2586
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2530
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 348);
|
|
2587
2531
|
|
|
2588
2532
|
/**
|
|
2589
2533
|
* Describes the message raystack.frontier.v1beta1.ListSessionsRequest.
|
|
2590
2534
|
* Use `create(ListSessionsRequestSchema)` to create a new message.
|
|
2591
2535
|
*/
|
|
2592
2536
|
export const ListSessionsRequestSchema = /*@__PURE__*/
|
|
2593
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2537
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 349);
|
|
2594
2538
|
|
|
2595
2539
|
/**
|
|
2596
2540
|
* Describes the message raystack.frontier.v1beta1.ListSessionsResponse.
|
|
2597
2541
|
* Use `create(ListSessionsResponseSchema)` to create a new message.
|
|
2598
2542
|
*/
|
|
2599
2543
|
export const ListSessionsResponseSchema = /*@__PURE__*/
|
|
2600
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2544
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 350);
|
|
2601
2545
|
|
|
2602
2546
|
/**
|
|
2603
2547
|
* Describes the message raystack.frontier.v1beta1.RevokeSessionRequest.
|
|
2604
2548
|
* Use `create(RevokeSessionRequestSchema)` to create a new message.
|
|
2605
2549
|
*/
|
|
2606
2550
|
export const RevokeSessionRequestSchema = /*@__PURE__*/
|
|
2607
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2551
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 351);
|
|
2608
2552
|
|
|
2609
2553
|
/**
|
|
2610
2554
|
* Describes the message raystack.frontier.v1beta1.RevokeSessionResponse.
|
|
2611
2555
|
* Use `create(RevokeSessionResponseSchema)` to create a new message.
|
|
2612
2556
|
*/
|
|
2613
2557
|
export const RevokeSessionResponseSchema = /*@__PURE__*/
|
|
2614
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2558
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 352);
|
|
2615
2559
|
|
|
2616
2560
|
/**
|
|
2617
2561
|
* Describes the message raystack.frontier.v1beta1.PingUserSessionRequest.
|
|
2618
2562
|
* Use `create(PingUserSessionRequestSchema)` to create a new message.
|
|
2619
2563
|
*/
|
|
2620
2564
|
export const PingUserSessionRequestSchema = /*@__PURE__*/
|
|
2621
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2565
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 353);
|
|
2622
2566
|
|
|
2623
2567
|
/**
|
|
2624
2568
|
* Describes the message raystack.frontier.v1beta1.PingUserSessionResponse.
|
|
2625
2569
|
* Use `create(PingUserSessionResponseSchema)` to create a new message.
|
|
2626
2570
|
*/
|
|
2627
2571
|
export const PingUserSessionResponseSchema = /*@__PURE__*/
|
|
2628
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2572
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 354);
|
|
2629
2573
|
|
|
2630
2574
|
/**
|
|
2631
2575
|
* Describes the message raystack.frontier.v1beta1.CreateAuditRecordRequest.
|
|
2632
2576
|
* Use `create(CreateAuditRecordRequestSchema)` to create a new message.
|
|
2633
2577
|
*/
|
|
2634
2578
|
export const CreateAuditRecordRequestSchema = /*@__PURE__*/
|
|
2635
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2579
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 355);
|
|
2636
2580
|
|
|
2637
2581
|
/**
|
|
2638
2582
|
* Describes the message raystack.frontier.v1beta1.CreateAuditRecordResponse.
|
|
2639
2583
|
* Use `create(CreateAuditRecordResponseSchema)` to create a new message.
|
|
2640
2584
|
*/
|
|
2641
2585
|
export const CreateAuditRecordResponseSchema = /*@__PURE__*/
|
|
2642
|
-
messageDesc(file_raystack_frontier_v1beta1_frontier,
|
|
2586
|
+
messageDesc(file_raystack_frontier_v1beta1_frontier, 356);
|
|
2643
2587
|
|
|
2644
2588
|
/**
|
|
2645
2589
|
* @generated from service raystack.frontier.v1beta1.FrontierService
|