@openkaiden/opnshll-sdk 0.0.110

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.
Files changed (42) hide show
  1. package/README.md +186 -0
  2. package/dist/client.d.ts +594 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +930 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/errors.d.ts +18 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +56 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/gen/datamodel_pb.d.ts +246 -0
  11. package/dist/gen/datamodel_pb.d.ts.map +1 -0
  12. package/dist/gen/datamodel_pb.js +58 -0
  13. package/dist/gen/datamodel_pb.js.map +1 -0
  14. package/dist/gen/openshell_pb.d.ts +6739 -0
  15. package/dist/gen/openshell_pb.d.ts.map +1 -0
  16. package/dist/gen/openshell_pb.js +1180 -0
  17. package/dist/gen/openshell_pb.js.map +1 -0
  18. package/dist/gen/options_pb.d.ts +58 -0
  19. package/dist/gen/options_pb.d.ts.map +1 -0
  20. package/dist/gen/options_pb.js +24 -0
  21. package/dist/gen/options_pb.js.map +1 -0
  22. package/dist/gen/sandbox_pb.d.ts +1069 -0
  23. package/dist/gen/sandbox_pb.d.ts.map +1 -0
  24. package/dist/gen/sandbox_pb.js +172 -0
  25. package/dist/gen/sandbox_pb.js.map +1 -0
  26. package/dist/index.d.ts +5 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +5 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/raw.d.ts +5 -0
  31. package/dist/raw.d.ts.map +1 -0
  32. package/dist/raw.js +14 -0
  33. package/dist/raw.js.map +1 -0
  34. package/dist/ssh-validate.d.ts +11 -0
  35. package/dist/ssh-validate.d.ts.map +1 -0
  36. package/dist/ssh-validate.js +58 -0
  37. package/dist/ssh-validate.js.map +1 -0
  38. package/dist/transport.d.ts +29 -0
  39. package/dist/transport.d.ts.map +1 -0
  40. package/dist/transport.js +92 -0
  41. package/dist/transport.js.map +1 -0
  42. package/package.json +58 -0
@@ -0,0 +1,1180 @@
1
+ // SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
4
+ import { file_datamodel } from "./datamodel_pb.js";
5
+ import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
6
+ import { file_options } from "./options_pb.js";
7
+ import { file_sandbox } from "./sandbox_pb.js";
8
+ /**
9
+ * Describes the file openshell.proto.
10
+ */
11
+ export const file_openshell = /*@__PURE__*/ fileDesc("Cg9vcGVuc2hlbGwucHJvdG8SDG9wZW5zaGVsbC52MSIaChhJc3N1ZVNhbmRib3hUb2tlblJlcXVlc3QiRwoZSXNzdWVTYW5kYm94VG9rZW5SZXNwb25zZRITCgV0b2tlbhgBIAEoCUIEiLUYARIVCg1leHBpcmVzX2F0X21zGAIgASgDIj0KGlJlZnJlc2hTYW5kYm94VG9rZW5SZXF1ZXN0Eh8KF2V4dGVuc2lvbl9zZXJ2aWNlX25hbWVzGAEgAygJIpIBChtSZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2USEwoFdG9rZW4YASABKAlCBIi1GAESFQoNZXhwaXJlc19hdF9tcxgCIAEoAxJHChVleHRlbnNpb25fY3JlZGVudGlhbHMYAyADKAsyKC5vcGVuc2hlbGwudjEuRXh0ZW5zaW9uU2VydmljZUNyZWRlbnRpYWwiDwoNSGVhbHRoUmVxdWVzdCJOCg5IZWFsdGhSZXNwb25zZRIrCgZzdGF0dXMYASABKA4yGy5vcGVuc2hlbGwudjEuU2VydmljZVN0YXR1cxIPCgd2ZXJzaW9uGAIgASgJIhcKFUdldEN1cnJlbnRVc2VyUmVxdWVzdCJ5ChZHZXRDdXJyZW50VXNlclJlc3BvbnNlEg8KB3N1YmplY3QYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEg0KBXJvbGVzGAMgAygJEg4KBnNjb3BlcxgEIAMoCRIZChFpZGVudGl0eV9wcm92aWRlchgFIAEoCSIXChVHZXRHYXRld2F5SW5mb1JlcXVlc3QimAEKFkdldEdhdGV3YXlJbmZvUmVzcG9uc2USKwoGc3RhdHVzGAEgASgOMhsub3BlbnNoZWxsLnYxLlNlcnZpY2VTdGF0dXMSFwoPZ2F0ZXdheV92ZXJzaW9uGAIgASgJEjgKD2NvbXB1dGVfZHJpdmVycxgDIAMoCzIfLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVySW5mbyJgChFDb21wdXRlRHJpdmVySW5mbxIMCgRuYW1lGAEgASgJEj0KDGNhcGFiaWxpdGllcxgCIAEoCzInLm9wZW5zaGVsbC52MS5Db21wdXRlRHJpdmVyQ2FwYWJpbGl0aWVzIkgKGUNvbXB1dGVEcml2ZXJDYXBhYmlsaXRpZXMSEwoLZHJpdmVyX25hbWUYASABKAkSFgoOZHJpdmVyX3ZlcnNpb24YAiABKAkiwAEKB1NhbmRib3gSNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESJwoEc3BlYxgCIAEoCzIZLm9wZW5zaGVsbC52MS5TYW5kYm94U3BlYxIrCgZzdGF0dXMYAyABKAsyGy5vcGVuc2hlbGwudjEuU2FuZGJveFN0YXR1c0oECAQQBUoECAUQBlIFcGhhc2VSFmN1cnJlbnRfcG9saWN5X3ZlcnNpb24igQMKC1NhbmRib3hTcGVjEhEKCWxvZ19sZXZlbBgBIAEoCRI/CgtlbnZpcm9ubWVudBgFIAMoCzIqLm9wZW5zaGVsbC52MS5TYW5kYm94U3BlYy5FbnZpcm9ubWVudEVudHJ5Ei8KCHRlbXBsYXRlGAYgASgLMh0ub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZRIzCgZwb2xpY3kYByABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5EhEKCXByb3ZpZGVycxgIIAMoCRJBChVyZXNvdXJjZV9yZXF1aXJlbWVudHMYCSABKAsyIi5vcGVuc2hlbGwudjEuUmVzb3VyY2VSZXF1aXJlbWVudHMaMgoQRW52aXJvbm1lbnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBSgQIChALSgQICxAMUgpncHVfZGV2aWNlUhZwcm9wb3NhbF9hcHByb3ZhbF9tb2RlIkoKFFJlc291cmNlUmVxdWlyZW1lbnRzEjIKA2dwdRgBIAEoCzIlLm9wZW5zaGVsbC52MS5HcHVSZXNvdXJjZVJlcXVpcmVtZW50cyI3ChdHcHVSZXNvdXJjZVJlcXVpcmVtZW50cxISCgVjb3VudBgBIAEoDUgAiAEBQggKBl9jb3VudCLaBAoPU2FuZGJveFRlbXBsYXRlEg0KBWltYWdlGAEgASgJEhoKEnJ1bnRpbWVfY2xhc3NfbmFtZRgCIAEoCRIUCgxhZ2VudF9zb2NrZXQYAyABKAkSOQoGbGFiZWxzGAQgAygLMikub3BlbnNoZWxsLnYxLlNhbmRib3hUZW1wbGF0ZS5MYWJlbHNFbnRyeRJDCgthbm5vdGF0aW9ucxgFIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuQW5ub3RhdGlvbnNFbnRyeRJDCgtlbnZpcm9ubWVudBgGIAMoCzIuLm9wZW5zaGVsbC52MS5TYW5kYm94VGVtcGxhdGUuRW52aXJvbm1lbnRFbnRyeRIqCglyZXNvdXJjZXMYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhwKD3VzZXJfbmFtZXNwYWNlcxgKIAEoCEgAiAEBEi4KDWRyaXZlcl9jb25maWcYCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Gi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEVudmlyb25tZW50RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUISChBfdXNlcl9uYW1lc3BhY2VzSgQICRAKUhZ2b2x1bWVfY2xhaW1fdGVtcGxhdGVzIt0BCg1TYW5kYm94U3RhdHVzEhQKDHNhbmRib3hfbmFtZRgBIAEoCRIRCglhZ2VudF9wb2QYAiABKAkSEAoIYWdlbnRfZmQYAyABKAkSEgoKc2FuZGJveF9mZBgEIAEoCRIyCgpjb25kaXRpb25zGAUgAygLMh4ub3BlbnNoZWxsLnYxLlNhbmRib3hDb25kaXRpb24SKQoFcGhhc2UYBiABKA4yGi5vcGVuc2hlbGwudjEuU2FuZGJveFBoYXNlEh4KFmN1cnJlbnRfcG9saWN5X3ZlcnNpb24YByABKA0ibwoQU2FuZGJveENvbmRpdGlvbhIMCgR0eXBlGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIOCgZyZWFzb24YAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIcChRsYXN0X3RyYW5zaXRpb25fdGltZRgFIAEoCSLSAQoNUGxhdGZvcm1FdmVudBIUCgx0aW1lc3RhbXBfbXMYASABKAMSDgoGc291cmNlGAIgASgJEgwKBHR5cGUYAyABKAkSDgoGcmVhc29uGAQgASgJEg8KB21lc3NhZ2UYBSABKAkSOwoIbWV0YWRhdGEYBiADKAsyKS5vcGVuc2hlbGwudjEuUGxhdGZvcm1FdmVudC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLNAgoUQ3JlYXRlU2FuZGJveFJlcXVlc3QSJwoEc3BlYxgBIAEoCzIZLm9wZW5zaGVsbC52MS5TYW5kYm94U3BlYxIMCgRuYW1lGAIgASgJEj4KBmxhYmVscxgDIAMoCzIuLm9wZW5zaGVsbC52MS5DcmVhdGVTYW5kYm94UmVxdWVzdC5MYWJlbHNFbnRyeRJICgthbm5vdGF0aW9ucxgEIAMoCzIzLm9wZW5zaGVsbC52MS5DcmVhdGVTYW5kYm94UmVxdWVzdC5Bbm5vdGF0aW9uc0VudHJ5EhEKCXdvcmtzcGFjZRgFIAEoCRotCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI0ChFHZXRTYW5kYm94UmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSJ4ChRMaXN0U2FuZGJveGVzUmVxdWVzdBINCgVsaW1pdBgBIAEoDRIOCgZvZmZzZXQYAiABKA0SFgoObGFiZWxfc2VsZWN0b3IYAyABKAkSEQoJd29ya3NwYWNlGAQgASgJEhYKDmFsbF93b3Jrc3BhY2VzGAUgASgIIkYKG0xpc3RTYW5kYm94UHJvdmlkZXJzUmVxdWVzdBIUCgxzYW5kYm94X25hbWUYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIoEBChxBdHRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0EhQKDHNhbmRib3hfbmFtZRgBIAEoCRIVCg1wcm92aWRlcl9uYW1lGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEQoJd29ya3NwYWNlGAQgASgJIoEBChxEZXRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0EhQKDHNhbmRib3hfbmFtZRgBIAEoCRIVCg1wcm92aWRlcl9uYW1lGAIgASgJEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAyABKAQSEQoJd29ya3NwYWNlGAQgASgJIjcKFERlbGV0ZVNhbmRib3hSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIjUKElN0b3BTYW5kYm94UmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSI2ChNTdGFydFNhbmRib3hSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIjkKD1NhbmRib3hSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3giQQoVTGlzdFNhbmRib3hlc1Jlc3BvbnNlEigKCXNhbmRib3hlcxgBIAMoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94IlMKHExpc3RTYW5kYm94UHJvdmlkZXJzUmVzcG9uc2USMwoJcHJvdmlkZXJzGAEgAygLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlciJZCh1BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXNwb25zZRImCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3gSEAoIYXR0YWNoZWQYAiABKAgiWQodRGV0YWNoU2FuZGJveFByb3ZpZGVyUmVzcG9uc2USJgoHc2FuZGJveBgBIAEoCzIVLm9wZW5zaGVsbC52MS5TYW5kYm94EhAKCGRldGFjaGVkGAIgASgIIigKFURlbGV0ZVNhbmRib3hSZXNwb25zZRIPCgdkZWxldGVkGAEgASgIIi0KF0NyZWF0ZVNzaFNlc3Npb25SZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkivAEKGENyZWF0ZVNzaFNlc3Npb25SZXNwb25zZRISCgpzYW5kYm94X2lkGAEgASgJEhMKBXRva2VuGAIgASgJQgSItRgBEhQKDGdhdGV3YXlfaG9zdBgDIAEoCRIUCgxnYXRld2F5X3BvcnQYBCABKA0SFgoOZ2F0ZXdheV9zY2hlbWUYBSABKAkSHAoUaG9zdF9rZXlfZmluZ2VycHJpbnQYByABKAkSFQoNZXhwaXJlc19hdF9tcxgIIAEoAyJwChRFeHBvc2VTZXJ2aWNlUmVxdWVzdBIPCgdzYW5kYm94GAEgASgJEg8KB3NlcnZpY2UYAiABKAkSEwoLdGFyZ2V0X3BvcnQYAyABKA0SDgoGZG9tYWluGAQgASgIEhEKCXdvcmtzcGFjZRgFIAEoCSJIChFHZXRTZXJ2aWNlUmVxdWVzdBIPCgdzYW5kYm94GAEgASgJEg8KB3NlcnZpY2UYAiABKAkSEQoJd29ya3NwYWNlGAMgASgJInAKE0xpc3RTZXJ2aWNlc1JlcXVlc3QSDwoHc2FuZGJveBgBIAEoCRINCgVsaW1pdBgCIAEoDRIOCgZvZmZzZXQYAyABKA0SEQoJd29ya3NwYWNlGAQgASgJEhYKDmFsbF93b3Jrc3BhY2VzGAUgASgIIk8KFExpc3RTZXJ2aWNlc1Jlc3BvbnNlEjcKCHNlcnZpY2VzGAEgAygLMiUub3BlbnNoZWxsLnYxLlNlcnZpY2VFbmRwb2ludFJlc3BvbnNlIksKFERlbGV0ZVNlcnZpY2VSZXF1ZXN0Eg8KB3NhbmRib3gYASABKAkSDwoHc2VydmljZRgCIAEoCRIRCgl3b3Jrc3BhY2UYAyABKAkiKAoVRGVsZXRlU2VydmljZVJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgirAEKD1NlcnZpY2VFbmRwb2ludBI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRISCgpzYW5kYm94X2lkGAIgASgJEhQKDHNhbmRib3hfbmFtZRgDIAEoCRIUCgxzZXJ2aWNlX25hbWUYBCABKAkSEwoLdGFyZ2V0X3BvcnQYBSABKA0SDgoGZG9tYWluGAYgASgIIlcKF1NlcnZpY2VFbmRwb2ludFJlc3BvbnNlEi8KCGVuZHBvaW50GAEgASgLMh0ub3BlbnNoZWxsLnYxLlNlcnZpY2VFbmRwb2ludBILCgN1cmwYAiABKAkiLgoXUmV2b2tlU3NoU2Vzc2lvblJlcXVlc3QSEwoFdG9rZW4YASABKAlCBIi1GAEiKwoYUmV2b2tlU3NoU2Vzc2lvblJlc3BvbnNlEg8KB3Jldm9rZWQYASABKAgilwIKEkV4ZWNTYW5kYm94UmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEg8KB2NvbW1hbmQYAiADKAkSDwoHd29ya2RpchgDIAEoCRJGCgtlbnZpcm9ubWVudBgEIAMoCzIxLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFJlcXVlc3QuRW52aXJvbm1lbnRFbnRyeRIXCg90aW1lb3V0X3NlY29uZHMYBSABKA0SDQoFc3RkaW4YBiABKAwSCwoDdHR5GAcgASgIEgwKBGNvbHMYCCABKA0SDAoEcm93cxgJIAEoDRoyChBFbnZpcm9ubWVudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiIQoRRXhlY1NhbmRib3hTdGRvdXQSDAoEZGF0YRgBIAEoDCIhChFFeGVjU2FuZGJveFN0ZGVychIMCgRkYXRhGAEgASgMIiQKD0V4ZWNTYW5kYm94RXhpdBIRCglleGl0X2NvZGUYASABKAUisgEKEEV4ZWNTYW5kYm94RXZlbnQSMQoGc3Rkb3V0GAEgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3Rkb3V0SAASMQoGc3RkZXJyGAIgASgLMh8ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94U3RkZXJySAASLQoEZXhpdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV4aXRIAEIJCgdwYXlsb2FkIr8BCg5UY3BGb3J3YXJkSW5pdBISCgpzYW5kYm94X2lkGAEgASgJEhIKCnNlcnZpY2VfaWQYBCABKAkSKwoDc3NoGAUgASgLMhwub3BlbnNoZWxsLnYxLlNzaFJlbGF5VGFyZ2V0SAASKwoDdGNwGAYgASgLMhwub3BlbnNoZWxsLnYxLlRjcFJlbGF5VGFyZ2V0SAASIQoTYXV0aG9yaXphdGlvbl90b2tlbhgHIAEoCUIEiLUYAUIICgZ0YXJnZXQiWgoPVGNwRm9yd2FyZEZyYW1lEiwKBGluaXQYASABKAsyHC5vcGVuc2hlbGwudjEuVGNwRm9yd2FyZEluaXRIABIOCgRkYXRhGAIgASgMSABCCQoHcGF5bG9hZCKaAQoQRXhlY1NhbmRib3hJbnB1dBIxCgVzdGFydBgBIAEoCzIgLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFJlcXVlc3RIABIPCgVzdGRpbhgCIAEoDEgAEjcKBnJlc2l6ZRgDIAEoCzIlLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveFdpbmRvd1Jlc2l6ZUgAQgkKB3BheWxvYWQiNQoXRXhlY1NhbmRib3hXaW5kb3dSZXNpemUSDAoEY29scxgBIAEoDRIMCgRyb3dzGAIgASgNIpMBCgpTc2hTZXNzaW9uEjQKCG1ldGFkYXRhGAEgASgLMiIub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5PYmplY3RNZXRhEhIKCnNhbmRib3hfaWQYAiABKAkSEwoFdG9rZW4YAyABKAlCBIi1GAESFQoNZXhwaXJlc19hdF9tcxgEIAEoAxIPCgdyZXZva2VkGAUgASgIIuwBChNXYXRjaFNhbmRib3hSZXF1ZXN0EgoKAmlkGAEgASgJEhUKDWZvbGxvd19zdGF0dXMYAiABKAgSEwoLZm9sbG93X2xvZ3MYAyABKAgSFQoNZm9sbG93X2V2ZW50cxgEIAEoCBIWCg5sb2dfdGFpbF9saW5lcxgFIAEoDRISCgpldmVudF90YWlsGAYgASgNEhgKEHN0b3Bfb25fdGVybWluYWwYByABKAgSFAoMbG9nX3NpbmNlX21zGAggASgDEhMKC2xvZ19zb3VyY2VzGAkgAygJEhUKDWxvZ19taW5fbGV2ZWwYCiABKAkimwIKElNhbmRib3hTdHJlYW1FdmVudBIoCgdzYW5kYm94GAEgASgLMhUub3BlbnNoZWxsLnYxLlNhbmRib3hIABIrCgNsb2cYAiABKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmVIABIsCgVldmVudBgDIAEoCzIbLm9wZW5zaGVsbC52MS5QbGF0Zm9ybUV2ZW50SAASNQoHd2FybmluZxgEIAEoCzIiLm9wZW5zaGVsbC52MS5TYW5kYm94U3RyZWFtV2FybmluZ0gAEj4KE2RyYWZ0X3BvbGljeV91cGRhdGUYBSABKAsyHy5vcGVuc2hlbGwudjEuRHJhZnRQb2xpY3lVcGRhdGVIAEIJCgdwYXlsb2FkIuMBCg5TYW5kYm94TG9nTGluZRISCgpzYW5kYm94X2lkGAEgASgJEhQKDHRpbWVzdGFtcF9tcxgCIAEoAxINCgVsZXZlbBgDIAEoCRIOCgZ0YXJnZXQYBCABKAkSDwoHbWVzc2FnZRgFIAEoCRIOCgZzb3VyY2UYBiABKAkSOAoGZmllbGRzGAcgAygLMigub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lLkZpZWxkc0VudHJ5Gi0KC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiJwoUU2FuZGJveFN0cmVhbVdhcm5pbmcSDwoHbWVzc2FnZRgBIAEoCSJeChVDcmVhdGVQcm92aWRlclJlcXVlc3QSMgoIcHJvdmlkZXIYASABKAsyIC5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLlByb3ZpZGVyEhEKCXdvcmtzcGFjZRgCIAEoCSI1ChJHZXRQcm92aWRlclJlcXVlc3QSDAoEbmFtZRgBIAEoCRIRCgl3b3Jrc3BhY2UYAiABKAkiYAoUTGlzdFByb3ZpZGVyc1JlcXVlc3QSDQoFbGltaXQYASABKA0SDgoGb2Zmc2V0GAIgASgNEhEKCXdvcmtzcGFjZRgDIAEoCRIWCg5hbGxfd29ya3NwYWNlcxgEIAEoCCL+AQoVVXBkYXRlUHJvdmlkZXJSZXF1ZXN0EjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlchJgChhjcmVkZW50aWFsX2V4cGlyZXNfYXRfbXMYAiADKAsyPi5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJSZXF1ZXN0LkNyZWRlbnRpYWxFeHBpcmVzQXRNc0VudHJ5EhEKCXdvcmtzcGFjZRgDIAEoCRo8ChpDcmVkZW50aWFsRXhwaXJlc0F0TXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAM6AjgBIjgKFURlbGV0ZVByb3ZpZGVyUmVxdWVzdBIMCgRuYW1lGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSJGChBQcm92aWRlclJlc3BvbnNlEjIKCHByb3ZpZGVyGAEgASgLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlciJMChVMaXN0UHJvdmlkZXJzUmVzcG9uc2USMwoJcHJvdmlkZXJzGAEgAygLMiAub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5Qcm92aWRlciJPChtMaXN0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSDQoFbGltaXQYASABKA0SDgoGb2Zmc2V0GAIgASgNEhEKCXdvcmtzcGFjZRgDIAEoCSI6ChlHZXRQcm92aWRlclByb2ZpbGVSZXF1ZXN0EgoKAmlkGAEgASgJEhEKCXdvcmtzcGFjZRgCIAEoCSJbChlQcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEi4KB3Byb2ZpbGUYASABKAsyHS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlEg4KBnNvdXJjZRgCIAEoCSJxChlQcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEg4KBnNvdXJjZRgBIAEoCRISCgpwcm9maWxlX2lkGAIgASgJEg0KBWZpZWxkGAMgASgJEg8KB21lc3NhZ2UYBCABKAkSEAoIc2V2ZXJpdHkYBSABKAkiegosUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudEF1ZGllbmNlT3ZlcnJpZGUSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNEgwKBHBhdGgYAyABKAkSEAoIYXVkaWVuY2UYBCABKAkSDgoGc2NvcGVzGAUgAygJIoUCChxQcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50EhYKDnRva2VuX2VuZHBvaW50GAEgASgJEhAKCGF1ZGllbmNlGAIgASgJEhkKEWp3dF9zdmlkX2F1ZGllbmNlGAYgASgJEg4KBnNjb3BlcxgDIAMoCRIZChFjYWNoZV90dGxfc2Vjb25kcxgEIAEoAxJWChJhdWRpZW5jZV9vdmVycmlkZXMYBSADKAsyOi5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsVG9rZW5HcmFudEF1ZGllbmNlT3ZlcnJpZGUSHQoVY2xpZW50X2Fzc2VydGlvbl90eXBlGAcgASgJIrICChlQcm92aWRlclByb2ZpbGVDcmVkZW50aWFsEgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSEAoIZW52X3ZhcnMYAyADKAkSEAoIcmVxdWlyZWQYBCABKAgSEgoKYXV0aF9zdHlsZRgFIAEoCRITCgtoZWFkZXJfbmFtZRgGIAEoCRITCgtxdWVyeV9wYXJhbRgHIAEoCRI4CgdyZWZyZXNoGAggASgLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2gSFQoNcGF0aF90ZW1wbGF0ZRgJIAEoCRI/Cgt0b2tlbl9ncmFudBgKIAEoCzIqLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxUb2tlbkdyYW50ImgKIVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hNYXRlcmlhbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCHJlcXVpcmVkGAMgASgIEg4KBnNlY3JldBgEIAEoCCJFCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoT3V0cHV0Eg4KBm91dHB1dBgBIAEoCRISCgpjcmVkZW50aWFsGAIgASgJIs0CChlQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoEkEKCHN0cmF0ZWd5GAEgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRIRCgl0b2tlbl91cmwYAiABKAkSDgoGc2NvcGVzGAMgAygJEh4KFnJlZnJlc2hfYmVmb3JlX3NlY29uZHMYBCABKAMSHAoUbWF4X2xpZmV0aW1lX3NlY29uZHMYBSABKAMSQQoIbWF0ZXJpYWwYBiADKAsyLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaE1hdGVyaWFsEkkKEmFkZGl0aW9uYWxfb3V0cHV0cxgHIAMoCzItLm9wZW5zaGVsbC52MS5Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoT3V0cHV0IpsCCh9Qcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdHVzEhUKDXByb3ZpZGVyX25hbWUYASABKAkSEwoLcHJvdmlkZXJfaWQYAiABKAkSFgoOY3JlZGVudGlhbF9rZXkYAyABKAkSQQoIc3RyYXRlZ3kYBCABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5Eg4KBnN0YXR1cxgFIAEoCRIVCg1leHBpcmVzX2F0X21zGAYgASgDEhoKEm5leHRfcmVmcmVzaF9hdF9tcxgHIAEoAxIaChJsYXN0X3JlZnJlc2hfYXRfbXMYCCABKAMSEgoKbGFzdF9lcnJvchgJIAEoCSIvChhQcm92aWRlclByb2ZpbGVEaXNjb3ZlcnkSEwoLY3JlZGVudGlhbHMYASADKAkizwgKJFN0b3JlZFByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0ZRI0CghtZXRhZGF0YRgBIAEoCzIiLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuT2JqZWN0TWV0YRITCgtwcm92aWRlcl9pZBgCIAEoCRIVCg1wcm92aWRlcl9uYW1lGAMgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAQgASgJEkEKCHN0cmF0ZWd5GAUgASgOMi8ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRJYCghtYXRlcmlhbBgGIAMoCzJALm9wZW5zaGVsbC52MS5TdG9yZWRQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdGUuTWF0ZXJpYWxFbnRyeUIEiLUYARIcChRzZWNyZXRfbWF0ZXJpYWxfa2V5cxgHIAMoCRIVCg1leHBpcmVzX2F0X21zGAggASgDEhoKEm5leHRfcmVmcmVzaF9hdF9tcxgJIAEoAxIaChJsYXN0X3JlZnJlc2hfYXRfbXMYCiABKAMSDgoGc3RhdHVzGAsgASgJEhIKCmxhc3RfZXJyb3IYDCABKAkSEQoJdG9rZW5fdXJsGA0gASgJEg4KBnNjb3BlcxgOIAMoCRIeChZyZWZyZXNoX2JlZm9yZV9zZWNvbmRzGA8gASgDEhwKFG1heF9saWZldGltZV9zZWNvbmRzGBAgASgDEmwKFmFkZGl0aW9uYWxfb3V0cHV0X2tleXMYESADKAsyTC5vcGVuc2hlbGwudjEuU3RvcmVkUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXRlLkFkZGl0aW9uYWxPdXRwdXRLZXlzRW50cnkSGwoTYXV0aG9yaXphdGlvbl9lcG9jaBgSIAEoCRJuChdzZWNyZXRfbWF0ZXJpYWxfaGFuZGxlcxgTIAMoCzJNLm9wZW5zaGVsbC52MS5TdG9yZWRQcm92aWRlckNyZWRlbnRpYWxSZWZyZXNoU3RhdGUuU2VjcmV0TWF0ZXJpYWxIYW5kbGVzRW50cnkSTQoYcGVuZGluZ19zZWNyZXRfZGVsZXRpb25zGBQgAygLMisub3BlbnNoZWxsLnYxLlN0b3JlZFJlZnJlc2hNYXRlcmlhbERlbGV0aW9uGi8KDU1hdGVyaWFsRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo7ChlBZGRpdGlvbmFsT3V0cHV0S2V5c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaZgoaU2VjcmV0TWF0ZXJpYWxIYW5kbGVzRW50cnkSCwoDa2V5GAEgASgJEjcKBXZhbHVlGAIgASgLMigub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5DcmVkZW50aWFsSGFuZGxlOgI4ASJvCh1TdG9yZWRSZWZyZXNoTWF0ZXJpYWxEZWxldGlvbhIUCgxtYXRlcmlhbF9rZXkYASABKAkSOAoGaGFuZGxlGAIgASgLMigub3BlbnNoZWxsLmRhdGFtb2RlbC52MS5DcmVkZW50aWFsSGFuZGxlIl4KH0dldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1JlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSEQoJd29ya3NwYWNlGAMgASgJImYKIEdldFByb3ZpZGVyUmVmcmVzaFN0YXR1c1Jlc3BvbnNlEkIKC2NyZWRlbnRpYWxzGAEgAygLMi0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdGF0dXMi8wIKH0NvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QSEAoIcHJvdmlkZXIYASABKAkSFgoOY3JlZGVudGlhbF9rZXkYAiABKAkSQQoIc3RyYXRlZ3kYAyABKA4yLy5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0cmF0ZWd5ElMKCG1hdGVyaWFsGAQgAygLMjsub3BlbnNoZWxsLnYxLkNvbmZpZ3VyZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QuTWF0ZXJpYWxFbnRyeUIEiLUYARIcChRzZWNyZXRfbWF0ZXJpYWxfa2V5cxgFIAMoCRIaCg1leHBpcmVzX2F0X21zGAYgASgDSACIAQESEQoJd29ya3NwYWNlGAcgASgJGi8KDU1hdGVyaWFsRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUIQCg5fZXhwaXJlc19hdF9tcyJhCiBDb25maWd1cmVQcm92aWRlclJlZnJlc2hSZXNwb25zZRI9CgZzdGF0dXMYASABKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cyJeCh9Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXF1ZXN0EhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJEhEKCXdvcmtzcGFjZRgDIAEoCSJhCiBSb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXNwb25zZRI9CgZzdGF0dXMYASABKAsyLS5vcGVuc2hlbGwudjEuUHJvdmlkZXJDcmVkZW50aWFsUmVmcmVzaFN0YXR1cyJbChxEZWxldGVQcm92aWRlclJlZnJlc2hSZXF1ZXN0EhAKCHByb3ZpZGVyGAEgASgJEhYKDmNyZWRlbnRpYWxfa2V5GAIgASgJEhEKCXdvcmtzcGFjZRgDIAEoCSIwCh1EZWxldGVQcm92aWRlclJlZnJlc2hSZXNwb25zZRIPCgdkZWxldGVkGAEgASgIIrgECg9Qcm92aWRlclByb2ZpbGUSCgoCaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjcKCGNhdGVnb3J5GAQgASgOMiUub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUNhdGVnb3J5EjwKC2NyZWRlbnRpYWxzGAUgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZUNyZWRlbnRpYWwSOAoJZW5kcG9pbnRzGAYgAygLMiUub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya0VuZHBvaW50EjUKCGJpbmFyaWVzGAcgAygLMiMub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya0JpbmFyeRIZChFpbmZlcmVuY2VfY2FwYWJsZRgIIAEoCBI5CglkaXNjb3ZlcnkYCSABKAsyJi5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlzY292ZXJ5EhgKEHJlc291cmNlX3ZlcnNpb24YCiABKAQSQwoLYW5ub3RhdGlvbnMYCyADKAsyLi5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlLkFubm90YXRpb25zRW50cnkSDgoGc291cmNlGAwgASgJEg0KBXNjb3BlGA0gASgJGjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJ9ChVTdG9yZWRQcm92aWRlclByb2ZpbGUSNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESLgoHcHJvZmlsZRgCIAEoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUiSQoXUHJvdmlkZXJQcm9maWxlUmVzcG9uc2USLgoHcHJvZmlsZRgBIAEoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUiTwocTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRIvCghwcm9maWxlcxgBIAMoCzIdLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGUibQodSW1wb3J0UHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSOQoIcHJvZmlsZXMYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlSW1wb3J0SXRlbRIRCgl3b3Jrc3BhY2UYAiABKAkioQEKHkltcG9ydFByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZRI8CgtkaWFnbm9zdGljcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVEaWFnbm9zdGljEi8KCHByb2ZpbGVzGAIgAygLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIQCghpbXBvcnRlZBgDIAEoCCKbAQodVXBkYXRlUHJvdmlkZXJQcm9maWxlc1JlcXVlc3QSOAoHcHJvZmlsZRgBIAEoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEiEKGWV4cGVjdGVkX3Jlc291cmNlX3ZlcnNpb24YAiABKAQSCgoCaWQYAyABKAkSEQoJd29ya3NwYWNlGAQgASgJIp8BCh5VcGRhdGVQcm92aWRlclByb2ZpbGVzUmVzcG9uc2USPAoLZGlhZ25vc3RpY3MYASADKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlRGlhZ25vc3RpYxIuCgdwcm9maWxlGAIgASgLMh0ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZRIPCgd1cGRhdGVkGAMgASgIImsKG0xpbnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBI5Cghwcm9maWxlcxgBIAMoCzInLm9wZW5zaGVsbC52MS5Qcm92aWRlclByb2ZpbGVJbXBvcnRJdGVtEhEKCXdvcmtzcGFjZRgCIAEoCSJrChxMaW50UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlEjwKC2RpYWdub3N0aWNzGAEgAygLMicub3BlbnNoZWxsLnYxLlByb3ZpZGVyUHJvZmlsZURpYWdub3N0aWMSDQoFdmFsaWQYAiABKAgiKQoWRGVsZXRlUHJvdmlkZXJSZXNwb25zZRIPCgdkZWxldGVkGAEgASgIIj0KHERlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlcXVlc3QSCgoCaWQYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIjAKHURlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlc3BvbnNlEg8KB2RlbGV0ZWQYASABKAgiZwokR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXF1ZXN0EhIKCnNhbmRib3hfaWQYASABKAkSKwojc3VwcG9ydHNfc3RhdGljX2NyZWRlbnRpYWxfYmluZGluZ3MYAiABKAgiSwofU3RhdGljQ3JlZGVudGlhbEVuZHBvaW50QmluZGluZxIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SDAoEcGF0aBgDIAEoCSKcAQoXU3RhdGljQ3JlZGVudGlhbEJpbmRpbmcSQAoJZW5kcG9pbnRzGAEgAygLMi0ub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxFbmRwb2ludEJpbmRpbmcSGwoTY3JlZGVudGlhbF9pZGVudGl0eRgCIAEoCRIiChp3b3JrbG9hZF9jcmVkZW50aWFsX2hhbmRsZRgDIAEoCSLdBgolR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZRJfCgtlbnZpcm9ubWVudBgBIAMoCzJELm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkVudmlyb25tZW50RW50cnlCBIi1GAESHQoVcHJvdmlkZXJfZW52X3JldmlzaW9uGAIgASgEEnAKGGNyZWRlbnRpYWxfZXhwaXJlc19hdF9tcxgDIAMoCzJOLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLkNyZWRlbnRpYWxFeHBpcmVzQXRNc0VudHJ5EmgKE2R5bmFtaWNfY3JlZGVudGlhbHMYBCADKAsySy5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXNwb25zZS5EeW5hbWljQ3JlZGVudGlhbHNFbnRyeRJ1ChpzdGF0aWNfY3JlZGVudGlhbF9iaW5kaW5ncxgFIAMoCzJRLm9wZW5zaGVsbC52MS5HZXRTYW5kYm94UHJvdmlkZXJFbnZpcm9ubWVudFJlc3BvbnNlLlN0YXRpY0NyZWRlbnRpYWxCaW5kaW5nc0VudHJ5EiMKG25vbl9zZWNyZXRfZW52aXJvbm1lbnRfa2V5cxgGIAMoCRoyChBFbnZpcm9ubWVudEVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaPAoaQ3JlZGVudGlhbEV4cGlyZXNBdE1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgDOgI4ARpiChdEeW5hbWljQ3JlZGVudGlhbHNFbnRyeRILCgNrZXkYASABKAkSNgoFdmFsdWUYAiABKAsyJy5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlQ3JlZGVudGlhbDoCOAEaZgodU3RhdGljQ3JlZGVudGlhbEJpbmRpbmdzRW50cnkSCwoDa2V5GAEgASgJEjQKBXZhbHVlGAIgASgLMiUub3BlbnNoZWxsLnYxLlN0YXRpY0NyZWRlbnRpYWxCaW5kaW5nOgI4ASLBAwoTVXBkYXRlQ29uZmlnUmVxdWVzdBIMCgRuYW1lGAEgASgJEjMKBnBvbGljeRgCIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSEwoLc2V0dGluZ19rZXkYAyABKAkSOQoNc2V0dGluZ192YWx1ZRgEIAEoCzIiLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNldHRpbmdWYWx1ZRIWCg5kZWxldGVfc2V0dGluZxgFIAEoCBIOCgZnbG9iYWwYBiABKAgSPAoQbWVyZ2Vfb3BlcmF0aW9ucxgHIAMoCzIiLm9wZW5zaGVsbC52MS5Qb2xpY3lNZXJnZU9wZXJhdGlvbhIhChlleHBlY3RlZF9yZXNvdXJjZV92ZXJzaW9uGAggASgEEkcKC2Fubm90YXRpb25zGAkgAygLMjIub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1JlcXVlc3QuQW5ub3RhdGlvbnNFbnRyeRIRCgl3b3Jrc3BhY2UYCiABKAkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIvcCChRQb2xpY3lNZXJnZU9wZXJhdGlvbhIwCghhZGRfcnVsZRgBIAEoCzIcLm9wZW5zaGVsbC52MS5BZGROZXR3b3JrUnVsZUgAEj4KD3JlbW92ZV9lbmRwb2ludBgCIAEoCzIjLm9wZW5zaGVsbC52MS5SZW1vdmVOZXR3b3JrRW5kcG9pbnRIABI2CgtyZW1vdmVfcnVsZRgDIAEoCzIfLm9wZW5zaGVsbC52MS5SZW1vdmVOZXR3b3JrUnVsZUgAEjQKDmFkZF9kZW55X3J1bGVzGAQgASgLMhoub3BlbnNoZWxsLnYxLkFkZERlbnlSdWxlc0gAEjYKD2FkZF9hbGxvd19ydWxlcxgFIAEoCzIbLm9wZW5zaGVsbC52MS5BZGRBbGxvd1J1bGVzSAASOgoNcmVtb3ZlX2JpbmFyeRgGIAEoCzIhLm9wZW5zaGVsbC52MS5SZW1vdmVOZXR3b3JrQmluYXJ5SABCCwoJb3BlcmF0aW9uIloKDkFkZE5ldHdvcmtSdWxlEhEKCXJ1bGVfbmFtZRgBIAEoCRI1CgRydWxlGAIgASgLMicub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya1BvbGljeVJ1bGUiRgoVUmVtb3ZlTmV0d29ya0VuZHBvaW50EhEKCXJ1bGVfbmFtZRgBIAEoCRIMCgRob3N0GAIgASgJEgwKBHBvcnQYAyABKA0iJgoRUmVtb3ZlTmV0d29ya1J1bGUSEQoJcnVsZV9uYW1lGAEgASgJImAKDEFkZERlbnlSdWxlcxIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SNAoKZGVueV9ydWxlcxgDIAMoCzIgLm9wZW5zaGVsbC5zYW5kYm94LnYxLkw3RGVueVJ1bGUiWAoNQWRkQWxsb3dSdWxlcxIMCgRob3N0GAEgASgJEgwKBHBvcnQYAiABKA0SKwoFcnVsZXMYAyADKAsyHC5vcGVuc2hlbGwuc2FuZGJveC52MS5MN1J1bGUiPQoTUmVtb3ZlTmV0d29ya0JpbmFyeRIRCglydWxlX25hbWUYASABKAkSEwoLYmluYXJ5X3BhdGgYAiABKAki5gEKFFVwZGF0ZUNvbmZpZ1Jlc3BvbnNlEg8KB3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSGQoRc2V0dGluZ3NfcmV2aXNpb24YAyABKAQSDwoHZGVsZXRlZBgEIAEoCBJICgthbm5vdGF0aW9ucxgFIAMoCzIzLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXNwb25zZS5Bbm5vdGF0aW9uc0VudHJ5GjIKEEFubm90YXRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJhCh1HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVxdWVzdBIMCgRuYW1lGAEgASgJEg8KB3ZlcnNpb24YAiABKA0SDgoGZ2xvYmFsGAMgASgIEhEKCXdvcmtzcGFjZRgEIAEoCSJvCh5HZXRTYW5kYm94UG9saWN5U3RhdHVzUmVzcG9uc2USNQoIcmV2aXNpb24YASABKAsyIy5vcGVuc2hlbGwudjEuU2FuZGJveFBvbGljeVJldmlzaW9uEhYKDmFjdGl2ZV92ZXJzaW9uGAIgASgNImwKGkxpc3RTYW5kYm94UG9saWNpZXNSZXF1ZXN0EgwKBG5hbWUYASABKAkSDQoFbGltaXQYAiABKA0SDgoGb2Zmc2V0GAMgASgNEg4KBmdsb2JhbBgEIAEoCBIRCgl3b3Jrc3BhY2UYBSABKAkiVQobTGlzdFNhbmRib3hQb2xpY2llc1Jlc3BvbnNlEjYKCXJldmlzaW9ucxgBIAMoCzIjLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24igAEKGVJlcG9ydFBvbGljeVN0YXR1c1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRIPCgd2ZXJzaW9uGAIgASgNEioKBnN0YXR1cxgDIAEoDjIaLm9wZW5zaGVsbC52MS5Qb2xpY3lTdGF0dXMSEgoKbG9hZF9lcnJvchgEIAEoCSIcChpSZXBvcnRQb2xpY3lTdGF0dXNSZXNwb25zZSLbAgoVU2FuZGJveFBvbGljeVJldmlzaW9uEg8KB3ZlcnNpb24YASABKA0SEwoLcG9saWN5X2hhc2gYAiABKAkSKgoGc3RhdHVzGAMgASgOMhoub3BlbnNoZWxsLnYxLlBvbGljeVN0YXR1cxISCgpsb2FkX2Vycm9yGAQgASgJEhUKDWNyZWF0ZWRfYXRfbXMYBSABKAMSFAoMbG9hZGVkX2F0X21zGAYgASgDEjMKBnBvbGljeRgHIAEoCzIjLm9wZW5zaGVsbC5zYW5kYm94LnYxLlNhbmRib3hQb2xpY3kSRwoKcHJvdmVuYW5jZRgIIAMoCzIzLm9wZW5zaGVsbC52MS5TYW5kYm94UG9saWN5UmV2aXNpb24uUHJvdmVuYW5jZUVudHJ5GjEKD1Byb3ZlbmFuY2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIoMBChVHZXRTYW5kYm94TG9nc1JlcXVlc3QSEgoKc2FuZGJveF9pZBgBIAEoCRINCgVsaW5lcxgCIAEoDRIQCghzaW5jZV9tcxgDIAEoAxIPCgdzb3VyY2VzGAQgAygJEhEKCW1pbl9sZXZlbBgFIAEoCRIRCgl3b3Jrc3BhY2UYBiABKAkiWAoWUHVzaFNhbmRib3hMb2dzUmVxdWVzdBISCgpzYW5kYm94X2lkGAEgASgJEioKBGxvZ3MYAiADKAsyHC5vcGVuc2hlbGwudjEuU2FuZGJveExvZ0xpbmUiGQoXUHVzaFNhbmRib3hMb2dzUmVzcG9uc2UiWgoWR2V0U2FuZGJveExvZ3NSZXNwb25zZRIqCgRsb2dzGAEgAygLMhwub3BlbnNoZWxsLnYxLlNhbmRib3hMb2dMaW5lEhQKDGJ1ZmZlcl90b3RhbBgCIAEoDSLzAQoRU3VwZXJ2aXNvck1lc3NhZ2USLgoFaGVsbG8YASABKAsyHS5vcGVuc2hlbGwudjEuU3VwZXJ2aXNvckhlbGxvSAASNgoJaGVhcnRiZWF0GAIgASgLMiEub3BlbnNoZWxsLnYxLlN1cGVydmlzb3JIZWFydGJlYXRIABI6ChFyZWxheV9vcGVuX3Jlc3VsdBgDIAEoCzIdLm9wZW5zaGVsbC52MS5SZWxheU9wZW5SZXN1bHRIABIvCgtyZWxheV9jbG9zZRgEIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSABCCQoHcGF5bG9hZCKmAgoOR2F0ZXdheU1lc3NhZ2USOQoQc2Vzc2lvbl9hY2NlcHRlZBgBIAEoCzIdLm9wZW5zaGVsbC52MS5TZXNzaW9uQWNjZXB0ZWRIABI5ChBzZXNzaW9uX3JlamVjdGVkGAIgASgLMh0ub3BlbnNoZWxsLnYxLlNlc3Npb25SZWplY3RlZEgAEjMKCWhlYXJ0YmVhdBgDIAEoCzIeLm9wZW5zaGVsbC52MS5HYXRld2F5SGVhcnRiZWF0SAASLQoKcmVsYXlfb3BlbhgEIAEoCzIXLm9wZW5zaGVsbC52MS5SZWxheU9wZW5IABIvCgtyZWxheV9jbG9zZRgFIAEoCzIYLm9wZW5zaGVsbC52MS5SZWxheUNsb3NlSABCCQoHcGF5bG9hZCI6Cg9TdXBlcnZpc29ySGVsbG8SEgoKc2FuZGJveF9pZBgBIAEoCRITCgtpbnN0YW5jZV9pZBgCIAEoCSJGCg9TZXNzaW9uQWNjZXB0ZWQSEgoKc2Vzc2lvbl9pZBgBIAEoCRIfChdoZWFydGJlYXRfaW50ZXJ2YWxfc2VjcxgCIAEoDSIhCg9TZXNzaW9uUmVqZWN0ZWQSDgoGcmVhc29uGAEgASgJIhUKE1N1cGVydmlzb3JIZWFydGJlYXQiEgoQR2F0ZXdheUhlYXJ0YmVhdCKXAQoJUmVsYXlPcGVuEhIKCmNoYW5uZWxfaWQYASABKAkSKwoDc3NoGAIgASgLMhwub3BlbnNoZWxsLnYxLlNzaFJlbGF5VGFyZ2V0SAASKwoDdGNwGAMgASgLMhwub3BlbnNoZWxsLnYxLlRjcFJlbGF5VGFyZ2V0SAASEgoKc2VydmljZV9pZBgFIAEoCUIICgZ0YXJnZXQiEAoOU3NoUmVsYXlUYXJnZXQiLAoOVGNwUmVsYXlUYXJnZXQSDAoEaG9zdBgBIAEoCRIMCgRwb3J0GAIgASgNIh8KCVJlbGF5SW5pdBISCgpjaGFubmVsX2lkGAEgASgJIlAKClJlbGF5RnJhbWUSJwoEaW5pdBgBIAEoCzIXLm9wZW5zaGVsbC52MS5SZWxheUluaXRIABIOCgRkYXRhGAIgASgMSABCCQoHcGF5bG9hZCJFCg9SZWxheU9wZW5SZXN1bHQSEgoKY2hhbm5lbF9pZBgBIAEoCRIPCgdzdWNjZXNzGAIgASgIEg0KBWVycm9yGAMgASgJIjAKClJlbGF5Q2xvc2USEgoKY2hhbm5lbF9pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkiUAoPTDdSZXF1ZXN0U2FtcGxlEg4KBm1ldGhvZBgBIAEoCRIMCgRwYXRoGAIgASgJEhAKCGRlY2lzaW9uGAMgASgJEg0KBWNvdW50GAQgASgNIpUDCg1EZW5pYWxTdW1tYXJ5EhIKCnNhbmRib3hfaWQYASABKAkSDAoEaG9zdBgCIAEoCRIMCgRwb3J0GAMgASgNEg4KBmJpbmFyeRgEIAEoCRIRCglhbmNlc3RvcnMYBSADKAkSEwoLZGVueV9yZWFzb24YBiABKAkSFQoNZmlyc3Rfc2Vlbl9tcxgHIAEoAxIUCgxsYXN0X3NlZW5fbXMYCCABKAMSDQoFY291bnQYCSABKA0SGAoQc3VwcHJlc3NlZF9jb3VudBgKIAEoDRITCgt0b3RhbF9jb3VudBgLIAEoDRIXCg9zYW1wbGVfY21kbGluZXMYDCADKAkSFQoNYmluYXJ5X3NoYTI1NhgNIAEoCRISCgpwZXJzaXN0ZW50GA4gASgIEhQKDGRlbmlhbF9zdGFnZRgPIAEoCRI5ChJsN19yZXF1ZXN0X3NhbXBsZXMYECADKAsyHS5vcGVuc2hlbGwudjEuTDdSZXF1ZXN0U2FtcGxlEhwKFGw3X2luc3BlY3Rpb25fYWN0aXZlGBEgASgIIjwKEERlbmlhbEdyb3VwQ291bnQSEgoKZGVueV9ncm91cBgBIAEoCRIUCgxkZW5pZWRfY291bnQYAiABKA0ijwEKFk5ldHdvcmtBY3Rpdml0eVN1bW1hcnkSHgoWbmV0d29ya19hY3Rpdml0eV9jb3VudBgBIAEoDRIbChNkZW5pZWRfYWN0aW9uX2NvdW50GAIgASgNEjgKEGRlbmlhbHNfYnlfZ3JvdXAYAyADKAsyHi5vcGVuc2hlbGwudjEuRGVuaWFsR3JvdXBDb3VudCK2AwoLUG9saWN5Q2h1bmsSCgoCaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhEKCXJ1bGVfbmFtZRgDIAEoCRI+Cg1wcm9wb3NlZF9ydWxlGAQgASgLMicub3BlbnNoZWxsLnNhbmRib3gudjEuTmV0d29ya1BvbGljeVJ1bGUSEQoJcmF0aW9uYWxlGAUgASgJEhYKDnNlY3VyaXR5X25vdGVzGAYgASgJEhIKCmNvbmZpZGVuY2UYByABKAISGgoSZGVuaWFsX3N1bW1hcnlfaWRzGAggAygJEhUKDWNyZWF0ZWRfYXRfbXMYCSABKAMSFQoNZGVjaWRlZF9hdF9tcxgKIAEoAxINCgVzdGFnZRgLIAEoCRIbChNzdXBlcnNlZGVzX2NodW5rX2lkGAwgASgJEhEKCWhpdF9jb3VudBgNIAEoBRIVCg1maXJzdF9zZWVuX21zGA4gASgDEhQKDGxhc3Rfc2Vlbl9tcxgPIAEoAxIOCgZiaW5hcnkYECABKAkSGQoRdmFsaWRhdGlvbl9yZXN1bHQYESABKAkSGAoQcmVqZWN0aW9uX3JlYXNvbhgSIAEoCSJmChFEcmFmdFBvbGljeVVwZGF0ZRIVCg1kcmFmdF92ZXJzaW9uGAEgASgEEhIKCm5ld19jaHVua3MYAiABKA0SFQoNdG90YWxfcGVuZGluZxgDIAEoDRIPCgdzdW1tYXJ5GAQgASgJIoMCChtTdWJtaXRQb2xpY3lBbmFseXNpc1JlcXVlc3QSLgoJc3VtbWFyaWVzGAEgAygLMhsub3BlbnNoZWxsLnYxLkRlbmlhbFN1bW1hcnkSMgoPcHJvcG9zZWRfY2h1bmtzGAIgAygLMhkub3BlbnNoZWxsLnYxLlBvbGljeUNodW5rEhUKDWFuYWx5c2lzX21vZGUYAyABKAkSDAoEbmFtZRgEIAEoCRJIChpuZXR3b3JrX2FjdGl2aXR5X3N1bW1hcmllcxgFIAMoCzIkLm9wZW5zaGVsbC52MS5OZXR3b3JrQWN0aXZpdHlTdW1tYXJ5EhEKCXdvcmtzcGFjZRgGIAEoCSKHAQocU3VibWl0UG9saWN5QW5hbHlzaXNSZXNwb25zZRIXCg9hY2NlcHRlZF9jaHVua3MYASABKA0SFwoPcmVqZWN0ZWRfY2h1bmtzGAIgASgNEhkKEXJlamVjdGlvbl9yZWFzb25zGAMgAygJEhoKEmFjY2VwdGVkX2NodW5rX2lkcxgEIAMoCSJPChVHZXREcmFmdFBvbGljeVJlcXVlc3QSDAoEbmFtZRgBIAEoCRIVCg1zdGF0dXNfZmlsdGVyGAIgASgJEhEKCXdvcmtzcGFjZRgDIAEoCSKQAQoWR2V0RHJhZnRQb2xpY3lSZXNwb25zZRIpCgZjaHVua3MYASADKAsyGS5vcGVuc2hlbGwudjEuUG9saWN5Q2h1bmsSFwoPcm9sbGluZ19zdW1tYXJ5GAIgASgJEhUKDWRyYWZ0X3ZlcnNpb24YAyABKAQSGwoTbGFzdF9hbmFseXplZF9hdF9tcxgEIAEoAyJNChhBcHByb3ZlRHJhZnRDaHVua1JlcXVlc3QSDAoEbmFtZRgBIAEoCRIQCghjaHVua19pZBgCIAEoCRIRCgl3b3Jrc3BhY2UYAyABKAkiSAoZQXBwcm92ZURyYWZ0Q2h1bmtSZXNwb25zZRIWCg5wb2xpY3lfdmVyc2lvbhgBIAEoDRITCgtwb2xpY3lfaGFzaBgCIAEoCSJcChdSZWplY3REcmFmdENodW5rUmVxdWVzdBIMCgRuYW1lGAEgASgJEhAKCGNodW5rX2lkGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIRCgl3b3Jrc3BhY2UYBCABKAkiGgoYUmVqZWN0RHJhZnRDaHVua1Jlc3BvbnNlImEKHEFwcHJvdmVBbGxEcmFmdENodW5rc1JlcXVlc3QSDAoEbmFtZRgBIAEoCRIgChhpbmNsdWRlX3NlY3VyaXR5X2ZsYWdnZWQYAiABKAgSEQoJd29ya3NwYWNlGAMgASgJIn0KHUFwcHJvdmVBbGxEcmFmdENodW5rc1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJEhcKD2NodW5rc19hcHByb3ZlZBgDIAEoDRIWCg5jaHVua3Nfc2tpcHBlZBgEIAEoDSKKAQoVRWRpdERyYWZ0Q2h1bmtSZXF1ZXN0EgwKBG5hbWUYASABKAkSEAoIY2h1bmtfaWQYAiABKAkSPgoNcHJvcG9zZWRfcnVsZRgDIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlEhEKCXdvcmtzcGFjZRgEIAEoCSIYChZFZGl0RHJhZnRDaHVua1Jlc3BvbnNlIkoKFVVuZG9EcmFmdENodW5rUmVxdWVzdBIMCgRuYW1lGAEgASgJEhAKCGNodW5rX2lkGAIgASgJEhEKCXdvcmtzcGFjZRgDIAEoCSJFChZVbmRvRHJhZnRDaHVua1Jlc3BvbnNlEhYKDnBvbGljeV92ZXJzaW9uGAEgASgNEhMKC3BvbGljeV9oYXNoGAIgASgJIjoKF0NsZWFyRHJhZnRDaHVua3NSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJd29ya3NwYWNlGAIgASgJIjIKGENsZWFyRHJhZnRDaHVua3NSZXNwb25zZRIWCg5jaHVua3NfY2xlYXJlZBgBIAEoDSI5ChZHZXREcmFmdEhpc3RvcnlSZXF1ZXN0EgwKBG5hbWUYASABKAkSEQoJd29ya3NwYWNlGAIgASgJImQKEURyYWZ0SGlzdG9yeUVudHJ5EhQKDHRpbWVzdGFtcF9tcxgBIAEoAxISCgpldmVudF90eXBlGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhAKCGNodW5rX2lkGAQgASgJIksKF0dldERyYWZ0SGlzdG9yeVJlc3BvbnNlEjAKB2VudHJpZXMYASADKAsyHy5vcGVuc2hlbGwudjEuRHJhZnRIaXN0b3J5RW50cnkigAIKFVBvbGljeVJldmlzaW9uUGF5bG9hZBIzCgZwb2xpY3kYASABKAsyIy5vcGVuc2hlbGwuc2FuZGJveC52MS5TYW5kYm94UG9saWN5EgwKBGhhc2gYAiABKAkSEgoKbG9hZF9lcnJvchgDIAEoCRIUCgxsb2FkZWRfYXRfbXMYBCABKAMSRwoKcHJvdmVuYW5jZRgFIAMoCzIzLm9wZW5zaGVsbC52MS5Qb2xpY3lSZXZpc2lvblBheWxvYWQuUHJvdmVuYW5jZUVudHJ5GjEKD1Byb3ZlbmFuY2VFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIrQCChFEcmFmdENodW5rUGF5bG9hZBIRCglydWxlX25hbWUYASABKAkSPgoNcHJvcG9zZWRfcnVsZRgCIAEoCzInLm9wZW5zaGVsbC5zYW5kYm94LnYxLk5ldHdvcmtQb2xpY3lSdWxlEhEKCXJhdGlvbmFsZRgDIAEoCRIWCg5zZWN1cml0eV9ub3RlcxgEIAEoCRISCgpjb25maWRlbmNlGAUgASgCEhUKDWRlY2lkZWRfYXRfbXMYBiABKAMSDAoEaG9zdBgHIAEoCRIMCgRwb3J0GAggASgFEg4KBmJpbmFyeRgJIAEoCRIVCg1kcmFmdF92ZXJzaW9uGAogASgDEhkKEXZhbGlkYXRpb25fcmVzdWx0GAsgASgJEhgKEHJlamVjdGlvbl9yZWFzb24YDCABKAki6gIKFFN0b3JlZFBvbGljeVJldmlzaW9uEgoKAmlkGAEgASgJEhIKCnNhbmRib3hfaWQYAiABKAkSDwoHdmVyc2lvbhgDIAEoAxIWCg5wb2xpY3lfcGF5bG9hZBgEIAEoDBITCgtwb2xpY3lfaGFzaBgFIAEoCRIOCgZzdGF0dXMYBiABKAkSFwoKbG9hZF9lcnJvchgHIAEoCUgAiAEBEhUKDWNyZWF0ZWRfYXRfbXMYCCABKAMSGQoMbG9hZGVkX2F0X21zGAkgASgDSAGIAQESRgoKcHJvdmVuYW5jZRgKIAMoCzIyLm9wZW5zaGVsbC52MS5TdG9yZWRQb2xpY3lSZXZpc2lvbi5Qcm92ZW5hbmNlRW50cnkaMQoPUHJvdmVuYW5jZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCDQoLX2xvYWRfZXJyb3JCDwoNX2xvYWRlZF9hdF9tcyKoAwoQU3RvcmVkRHJhZnRDaHVuaxIKCgJpZBgBIAEoCRISCgpzYW5kYm94X2lkGAIgASgJEhUKDWRyYWZ0X3ZlcnNpb24YAyABKAMSDgoGc3RhdHVzGAQgASgJEhEKCXJ1bGVfbmFtZRgFIAEoCRIVCg1wcm9wb3NlZF9ydWxlGAYgASgMEhEKCXJhdGlvbmFsZRgHIAEoCRIWCg5zZWN1cml0eV9ub3RlcxgIIAEoCRISCgpjb25maWRlbmNlGAkgASgBEhUKDWNyZWF0ZWRfYXRfbXMYCiABKAMSGgoNZGVjaWRlZF9hdF9tcxgLIAEoA0gAiAEBEgwKBGhvc3QYDCABKAkSDAoEcG9ydBgNIAEoBRIOCgZiaW5hcnkYDiABKAkSEQoJaGl0X2NvdW50GA8gASgFEhUKDWZpcnN0X3NlZW5fbXMYECABKAMSFAoMbGFzdF9zZWVuX21zGBEgASgDEhkKEXZhbGlkYXRpb25fcmVzdWx0GBIgASgJEhgKEHJlamVjdGlvbl9yZWFzb24YEyABKAlCEAoOX2RlY2lkZWRfYXRfbXMilwEKFkNyZWF0ZVdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCRJACgZsYWJlbHMYAiADKAsyMC5vcGVuc2hlbGwudjEuQ3JlYXRlV29ya3NwYWNlUmVxdWVzdC5MYWJlbHNFbnRyeRotCgtMYWJlbHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIk8KF0NyZWF0ZVdvcmtzcGFjZVJlc3BvbnNlEjQKCXdvcmtzcGFjZRgBIAEoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlIiMKE0dldFdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSJMChRHZXRXb3Jrc3BhY2VSZXNwb25zZRI0Cgl3b3Jrc3BhY2UYASABKAsyIS5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLldvcmtzcGFjZSJOChVMaXN0V29ya3NwYWNlc1JlcXVlc3QSDQoFbGltaXQYASABKA0SDgoGb2Zmc2V0GAIgASgNEhYKDmxhYmVsX3NlbGVjdG9yGAMgASgJIk8KFkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2USNQoKd29ya3NwYWNlcxgBIAMoCzIhLm9wZW5zaGVsbC5kYXRhbW9kZWwudjEuV29ya3NwYWNlIiYKFkRlbGV0ZVdvcmtzcGFjZVJlcXVlc3QSDAoEbmFtZRgBIAEoCSIqChdEZWxldGVXb3Jrc3BhY2VSZXNwb25zZRIPCgdkZWxldGVkGAEgASgIIo0BCg9Xb3Jrc3BhY2VNZW1iZXISNAoIbWV0YWRhdGEYASABKAsyIi5vcGVuc2hlbGwuZGF0YW1vZGVsLnYxLk9iamVjdE1ldGESGQoRcHJpbmNpcGFsX3N1YmplY3QYAiABKAkSKQoEcm9sZRgDIAEoDjIbLm9wZW5zaGVsbC52MS5Xb3Jrc3BhY2VSb2xlInQKGUFkZFdvcmtzcGFjZU1lbWJlclJlcXVlc3QSEQoJd29ya3NwYWNlGAEgASgJEhkKEXByaW5jaXBhbF9zdWJqZWN0GAIgASgJEikKBHJvbGUYAyABKA4yGy5vcGVuc2hlbGwudjEuV29ya3NwYWNlUm9sZSJLChpBZGRXb3Jrc3BhY2VNZW1iZXJSZXNwb25zZRItCgZtZW1iZXIYASABKAsyHS5vcGVuc2hlbGwudjEuV29ya3NwYWNlTWVtYmVyIkwKHFJlbW92ZVdvcmtzcGFjZU1lbWJlclJlcXVlc3QSEQoJd29ya3NwYWNlGAEgASgJEhkKEXByaW5jaXBhbF9zdWJqZWN0GAIgASgJIjAKHVJlbW92ZVdvcmtzcGFjZU1lbWJlclJlc3BvbnNlEg8KB3JlbW92ZWQYASABKAgiTwobTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXF1ZXN0EhEKCXdvcmtzcGFjZRgBIAEoCRINCgVsaW1pdBgCIAEoDRIOCgZvZmZzZXQYAyABKA0iTgocTGlzdFdvcmtzcGFjZU1lbWJlcnNSZXNwb25zZRIuCgdtZW1iZXJzGAEgAygLMh0ub3BlbnNoZWxsLnYxLldvcmtzcGFjZU1lbWJlciJeChpFeHRlbnNpb25TZXJ2aWNlQ3JlZGVudGlhbBIUCgxzZXJ2aWNlX25hbWUYASABKAkSEwoFdG9rZW4YAiABKAlCBIi1GAESFQoNZXhwaXJlc19hdF9tcxgDIAEoAyqJAgoMU2FuZGJveFBoYXNlEh0KGVNBTkRCT1hfUEhBU0VfVU5TUEVDSUZJRUQQABIeChpTQU5EQk9YX1BIQVNFX1BST1ZJU0lPTklORxABEhcKE1NBTkRCT1hfUEhBU0VfUkVBRFkQAhIXChNTQU5EQk9YX1BIQVNFX0VSUk9SEAMSGgoWU0FOREJPWF9QSEFTRV9ERUxFVElORxAEEhkKFVNBTkRCT1hfUEhBU0VfVU5LTk9XThAFEhoKFlNBTkRCT1hfUEhBU0VfU1RPUFBJTkcQBhIZChVTQU5EQk9YX1BIQVNFX1NUT1BQRUQQBxIaChZTQU5EQk9YX1BIQVNFX1NUQVJUSU5HEAgqwwMKIVByb3ZpZGVyQ3JlZGVudGlhbFJlZnJlc2hTdHJhdGVneRI0CjBQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABIvCitQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfU1RBVElDEAESMQotUFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX0VYVEVSTkFMEAISPQo5UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX09BVVRIMl9SRUZSRVNIX1RPS0VOEAMSQgo+UFJPVklERVJfQ1JFREVOVElBTF9SRUZSRVNIX1NUUkFURUdZX09BVVRIMl9DTElFTlRfQ1JFREVOVElBTFMQBBJDCj9QUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfR09PR0xFX1NFUlZJQ0VfQUNDT1VOVF9KV1QQBRI8CjhQUk9WSURFUl9DUkVERU5USUFMX1JFRlJFU0hfU1RSQVRFR1lfQVdTX1NUU19BU1NVTUVfUk9MRRAGKtsCChdQcm92aWRlclByb2ZpbGVDYXRlZ29yeRIpCiVQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASIwofUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9PVEhFUhABEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfSU5GRVJFTkNFEAISIwofUFJPVklERVJfUFJPRklMRV9DQVRFR09SWV9BR0VOVBADEiwKKFBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfU09VUkNFX0NPTlRST0wQBBInCiNQUk9WSURFUl9QUk9GSUxFX0NBVEVHT1JZX01FU1NBR0lORxAFEiIKHlBST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfREFUQRAGEicKI1BST1ZJREVSX1BST0ZJTEVfQ0FURUdPUllfS05PV0xFREdFEAcqmgEKDFBvbGljeVN0YXR1cxIdChlQT0xJQ1lfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGQoVUE9MSUNZX1NUQVRVU19QRU5ESU5HEAESGAoUUE9MSUNZX1NUQVRVU19MT0FERUQQAhIYChRQT0xJQ1lfU1RBVFVTX0ZBSUxFRBADEhwKGFBPTElDWV9TVEFUVVNfU1VQRVJTRURFRBAEKoYBCg1TZXJ2aWNlU3RhdHVzEh4KGlNFUlZJQ0VfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWU0VSVklDRV9TVEFUVVNfSEVBTFRIWRABEhsKF1NFUlZJQ0VfU1RBVFVTX0RFR1JBREVEEAISHAoYU0VSVklDRV9TVEFUVVNfVU5IRUFMVEhZEAMqYgoNV29ya3NwYWNlUm9sZRIeChpXT1JLU1BBQ0VfUk9MRV9VTlNQRUNJRklFRBAAEhcKE1dPUktTUEFDRV9ST0xFX1VTRVIQARIYChRXT1JLU1BBQ0VfUk9MRV9BRE1JThACMpRECglPcGVuU2hlbGwSWgoGSGVhbHRoEhsub3BlbnNoZWxsLnYxLkhlYWx0aFJlcXVlc3QaHC5vcGVuc2hlbGwudjEuSGVhbHRoUmVzcG9uc2UiFYK1GBEKD3VuYXV0aGVudGljYXRlZBJpCg5HZXRDdXJyZW50VXNlchIjLm9wZW5zaGVsbC52MS5HZXRDdXJyZW50VXNlclJlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0Q3VycmVudFVzZXJSZXNwb25zZSIMgrUYCAoGYmVhcmVyEoYBCg5HZXRHYXRld2F5SW5mbxIjLm9wZW5zaGVsbC52MS5HZXRHYXRld2F5SW5mb1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuR2V0R2F0ZXdheUluZm9SZXNwb25zZSIpgrUYJQoGYmVhcmVyGg5wbGF0Zm9ybV9hZG1pbiILY29uZmlnOnJlYWQSdQoNQ3JlYXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5DcmVhdGVTYW5kYm94UmVxdWVzdBodLm9wZW5zaGVsbC52MS5TYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJuCgpHZXRTYW5kYm94Eh8ub3BlbnNoZWxsLnYxLkdldFNhbmRib3hSZXF1ZXN0Gh0ub3BlbnNoZWxsLnYxLlNhbmRib3hSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSegoNTGlzdFNhbmRib3hlcxIiLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVxdWVzdBojLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveGVzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEo8BChRMaXN0U2FuZGJveFByb3ZpZGVycxIpLm9wZW5zaGVsbC52MS5MaXN0U2FuZGJveFByb3ZpZGVyc1JlcXVlc3QaKi5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQcm92aWRlcnNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSkwEKFUF0dGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5BdHRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkF0dGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSkwEKFURldGFjaFNhbmRib3hQcm92aWRlchIqLm9wZW5zaGVsbC52MS5EZXRhY2hTYW5kYm94UHJvdmlkZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRldGFjaFNhbmRib3hQcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSewoNRGVsZXRlU2FuZGJveBIiLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVxdWVzdBojLm9wZW5zaGVsbC52MS5EZWxldGVTYW5kYm94UmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZRJxCgtTdG9wU2FuZGJveBIgLm9wZW5zaGVsbC52MS5TdG9wU2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUScwoMU3RhcnRTYW5kYm94EiEub3BlbnNoZWxsLnYxLlN0YXJ0U2FuZGJveFJlcXVlc3QaHS5vcGVuc2hlbGwudjEuU2FuZGJveFJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUShAEKEENyZWF0ZVNzaFNlc3Npb24SJS5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlcXVlc3QaJi5vcGVuc2hlbGwudjEuQ3JlYXRlU3NoU2Vzc2lvblJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUSfQoNRXhwb3NlU2VydmljZRIiLm9wZW5zaGVsbC52MS5FeHBvc2VTZXJ2aWNlUmVxdWVzdBolLm9wZW5zaGVsbC52MS5TZXJ2aWNlRW5kcG9pbnRSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnYKCkdldFNlcnZpY2USHy5vcGVuc2hlbGwudjEuR2V0U2VydmljZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuU2VydmljZUVuZHBvaW50UmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEncKDExpc3RTZXJ2aWNlcxIhLm9wZW5zaGVsbC52MS5MaXN0U2VydmljZXNSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLkxpc3RTZXJ2aWNlc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ7Cg1EZWxldGVTZXJ2aWNlEiIub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXF1ZXN0GiMub3BlbnNoZWxsLnYxLkRlbGV0ZVNlcnZpY2VSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEoQBChBSZXZva2VTc2hTZXNzaW9uEiUub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXF1ZXN0GiYub3BlbnNoZWxsLnYxLlJldm9rZVNzaFNlc3Npb25SZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1zYW5kYm94OndyaXRlEnQKC0V4ZWNTYW5kYm94EiAub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94UmVxdWVzdBoeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveEV2ZW50IiGCtRgdCgZiZWFyZXISBHVzZXIiDXNhbmRib3g6d3JpdGUwARJxCgpGb3J3YXJkVGNwEh0ub3BlbnNoZWxsLnYxLlRjcEZvcndhcmRGcmFtZRodLm9wZW5zaGVsbC52MS5UY3BGb3J3YXJkRnJhbWUiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESfwoWRXhlY1NhbmRib3hJbnRlcmFjdGl2ZRIeLm9wZW5zaGVsbC52MS5FeGVjU2FuZGJveElucHV0Gh4ub3BlbnNoZWxsLnYxLkV4ZWNTYW5kYm94RXZlbnQiIYK1GB0KBmJlYXJlchIEdXNlciINc2FuZGJveDp3cml0ZSgBMAESegoOQ3JlYXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuQ3JlYXRlUHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEnIKC0dldFByb3ZpZGVyEiAub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUmVxdWVzdBoeLm9wZW5zaGVsbC52MS5Qcm92aWRlclJlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSewoNTGlzdFByb3ZpZGVycxIiLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJzUmVxdWVzdBojLm9wZW5zaGVsbC52MS5MaXN0UHJvdmlkZXJzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKQAQoUTGlzdFByb3ZpZGVyUHJvZmlsZXMSKS5vcGVuc2hlbGwudjEuTGlzdFByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Gioub3BlbnNoZWxsLnYxLkxpc3RQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKHAQoSR2V0UHJvdmlkZXJQcm9maWxlEicub3BlbnNoZWxsLnYxLkdldFByb3ZpZGVyUHJvZmlsZVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuUHJvdmlkZXJQcm9maWxlUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIEdXNlciINcHJvdmlkZXI6cmVhZBKYAQoWSW1wb3J0UHJvdmlkZXJQcm9maWxlcxIrLm9wZW5zaGVsbC52MS5JbXBvcnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBosLm9wZW5zaGVsbC52MS5JbXBvcnRQcm92aWRlclByb2ZpbGVzUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpgBChZVcGRhdGVQcm92aWRlclByb2ZpbGVzEisub3BlbnNoZWxsLnYxLlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXNSZXF1ZXN0Giwub3BlbnNoZWxsLnYxLlVwZGF0ZVByb3ZpZGVyUHJvZmlsZXNSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSkAEKFExpbnRQcm92aWRlclByb2ZpbGVzEikub3BlbnNoZWxsLnYxLkxpbnRQcm92aWRlclByb2ZpbGVzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5MaW50UHJvdmlkZXJQcm9maWxlc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBHVzZXIiDXByb3ZpZGVyOnJlYWQSegoOVXBkYXRlUHJvdmlkZXISIy5vcGVuc2hlbGwudjEuVXBkYXRlUHJvdmlkZXJSZXF1ZXN0Gh4ub3BlbnNoZWxsLnYxLlByb3ZpZGVyUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEpwBChhHZXRQcm92aWRlclJlZnJlc2hTdGF0dXMSLS5vcGVuc2hlbGwudjEuR2V0UHJvdmlkZXJSZWZyZXNoU3RhdHVzUmVxdWVzdBouLm9wZW5zaGVsbC52MS5HZXRQcm92aWRlclJlZnJlc2hTdGF0dXNSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgR1c2VyIg1wcm92aWRlcjpyZWFkEp4BChhDb25maWd1cmVQcm92aWRlclJlZnJlc2gSLS5vcGVuc2hlbGwudjEuQ29uZmlndXJlUHJvdmlkZXJSZWZyZXNoUmVxdWVzdBouLm9wZW5zaGVsbC52MS5Db25maWd1cmVQcm92aWRlclJlZnJlc2hSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSngEKGFJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbBItLm9wZW5zaGVsbC52MS5Sb3RhdGVQcm92aWRlckNyZWRlbnRpYWxSZXF1ZXN0Gi4ub3BlbnNoZWxsLnYxLlJvdGF0ZVByb3ZpZGVyQ3JlZGVudGlhbFJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKVAQoVRGVsZXRlUHJvdmlkZXJSZWZyZXNoEioub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUmVmcmVzaFJlcXVlc3QaKy5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZWZyZXNoUmVzcG9uc2UiI4K1GB8KBmJlYXJlchIFYWRtaW4iDnByb3ZpZGVyOndyaXRlEoABCg5EZWxldGVQcm92aWRlchIjLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclJlcXVlc3QaJC5vcGVuc2hlbGwudjEuRGVsZXRlUHJvdmlkZXJSZXNwb25zZSIjgrUYHwoGYmVhcmVyEgVhZG1pbiIOcHJvdmlkZXI6d3JpdGUSlQEKFURlbGV0ZVByb3ZpZGVyUHJvZmlsZRIqLm9wZW5zaGVsbC52MS5EZWxldGVQcm92aWRlclByb2ZpbGVSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLkRlbGV0ZVByb3ZpZGVyUHJvZmlsZVJlc3BvbnNlIiOCtRgfCgZiZWFyZXISBWFkbWluIg5wcm92aWRlcjp3cml0ZRKQAQoQR2V0U2FuZGJveENvbmZpZxItLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldFNhbmRib3hDb25maWdSZXF1ZXN0Gi4ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0U2FuZGJveENvbmZpZ1Jlc3BvbnNlIh2CtRgZCgRkdWFsEgR1c2VyIgtjb25maWc6cmVhZBKMAQoQR2V0R2F0ZXdheUNvbmZpZxItLm9wZW5zaGVsbC5zYW5kYm94LnYxLkdldEdhdGV3YXlDb25maWdSZXF1ZXN0Gi4ub3BlbnNoZWxsLnNhbmRib3gudjEuR2V0R2F0ZXdheUNvbmZpZ1Jlc3BvbnNlIhmCtRgVCgZiZWFyZXIiC2NvbmZpZzpyZWFkEnYKDFVwZGF0ZUNvbmZpZxIhLm9wZW5zaGVsbC52MS5VcGRhdGVDb25maWdSZXF1ZXN0GiIub3BlbnNoZWxsLnYxLlVwZGF0ZUNvbmZpZ1Jlc3BvbnNlIh+CtRgbCgRkdWFsEgVhZG1pbiIMY29uZmlnOndyaXRlEpUBChZHZXRTYW5kYm94UG9saWN5U3RhdHVzEisub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQb2xpY3lTdGF0dXNSZXF1ZXN0Giwub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQb2xpY3lTdGF0dXNSZXNwb25zZSIggrUYHAoGYmVhcmVyEgR1c2VyIgxzYW5kYm94OnJlYWQSjAEKE0xpc3RTYW5kYm94UG9saWNpZXMSKC5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQb2xpY2llc1JlcXVlc3QaKS5vcGVuc2hlbGwudjEuTGlzdFNhbmRib3hQb2xpY2llc1Jlc3BvbnNlIiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZBJ2ChJSZXBvcnRQb2xpY3lTdGF0dXMSJy5vcGVuc2hlbGwudjEuUmVwb3J0UG9saWN5U3RhdHVzUmVxdWVzdBooLm9wZW5zaGVsbC52MS5SZXBvcnRQb2xpY3lTdGF0dXNSZXNwb25zZSINgrUYCQoHc2FuZGJveBKXAQodR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnQSMi5vcGVuc2hlbGwudjEuR2V0U2FuZGJveFByb3ZpZGVyRW52aXJvbm1lbnRSZXF1ZXN0GjMub3BlbnNoZWxsLnYxLkdldFNhbmRib3hQcm92aWRlckVudmlyb25tZW50UmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSfQoOR2V0U2FuZGJveExvZ3MSIy5vcGVuc2hlbGwudjEuR2V0U2FuZGJveExvZ3NSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkdldFNhbmRib3hMb2dzUmVzcG9uc2UiIIK1GBwKBmJlYXJlchIEdXNlciIMc2FuZGJveDpyZWFkEm8KD1B1c2hTYW5kYm94TG9ncxIkLm9wZW5zaGVsbC52MS5QdXNoU2FuZGJveExvZ3NSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLlB1c2hTYW5kYm94TG9nc1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94KAESZQoRQ29ubmVjdFN1cGVydmlzb3ISHy5vcGVuc2hlbGwudjEuU3VwZXJ2aXNvck1lc3NhZ2UaHC5vcGVuc2hlbGwudjEuR2F0ZXdheU1lc3NhZ2UiDYK1GAkKB3NhbmRib3goATABElQKC1JlbGF5U3RyZWFtEhgub3BlbnNoZWxsLnYxLlJlbGF5RnJhbWUaGC5vcGVuc2hlbGwudjEuUmVsYXlGcmFtZSINgrUYCQoHc2FuZGJveCgBMAESdwoMV2F0Y2hTYW5kYm94EiEub3BlbnNoZWxsLnYxLldhdGNoU2FuZGJveFJlcXVlc3QaIC5vcGVuc2hlbGwudjEuU2FuZGJveFN0cmVhbUV2ZW50IiCCtRgcCgZiZWFyZXISBHVzZXIiDHNhbmRib3g6cmVhZDABEnwKFFN1Ym1pdFBvbGljeUFuYWx5c2lzEikub3BlbnNoZWxsLnYxLlN1Ym1pdFBvbGljeUFuYWx5c2lzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5TdWJtaXRQb2xpY3lBbmFseXNpc1Jlc3BvbnNlIg2CtRgJCgdzYW5kYm94EnoKDkdldERyYWZ0UG9saWN5EiMub3BlbnNoZWxsLnYxLkdldERyYWZ0UG9saWN5UmVxdWVzdBokLm9wZW5zaGVsbC52MS5HZXREcmFmdFBvbGljeVJlc3BvbnNlIh2CtRgZCgRkdWFsEgR1c2VyIgtjb25maWc6cmVhZBKHAQoRQXBwcm92ZURyYWZ0Q2h1bmsSJi5vcGVuc2hlbGwudjEuQXBwcm92ZURyYWZ0Q2h1bmtSZXF1ZXN0Gicub3BlbnNoZWxsLnYxLkFwcHJvdmVEcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRKEAQoQUmVqZWN0RHJhZnRDaHVuaxIlLm9wZW5zaGVsbC52MS5SZWplY3REcmFmdENodW5rUmVxdWVzdBomLm9wZW5zaGVsbC52MS5SZWplY3REcmFmdENodW5rUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRKTAQoVQXBwcm92ZUFsbERyYWZ0Q2h1bmtzEioub3BlbnNoZWxsLnYxLkFwcHJvdmVBbGxEcmFmdENodW5rc1JlcXVlc3QaKy5vcGVuc2hlbGwudjEuQXBwcm92ZUFsbERyYWZ0Q2h1bmtzUmVzcG9uc2UiIYK1GB0KBmJlYXJlchIFYWRtaW4iDGNvbmZpZzp3cml0ZRJ+Cg5FZGl0RHJhZnRDaHVuaxIjLm9wZW5zaGVsbC52MS5FZGl0RHJhZnRDaHVua1JlcXVlc3QaJC5vcGVuc2hlbGwudjEuRWRpdERyYWZ0Q2h1bmtSZXNwb25zZSIhgrUYHQoGYmVhcmVyEgVhZG1pbiIMY29uZmlnOndyaXRlEn4KDlVuZG9EcmFmdENodW5rEiMub3BlbnNoZWxsLnYxLlVuZG9EcmFmdENodW5rUmVxdWVzdBokLm9wZW5zaGVsbC52MS5VbmRvRHJhZnRDaHVua1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUShAEKEENsZWFyRHJhZnRDaHVua3MSJS5vcGVuc2hlbGwudjEuQ2xlYXJEcmFmdENodW5rc1JlcXVlc3QaJi5vcGVuc2hlbGwudjEuQ2xlYXJEcmFmdENodW5rc1Jlc3BvbnNlIiGCtRgdCgZiZWFyZXISBWFkbWluIgxjb25maWc6d3JpdGUSfwoPR2V0RHJhZnRIaXN0b3J5EiQub3BlbnNoZWxsLnYxLkdldERyYWZ0SGlzdG9yeVJlcXVlc3QaJS5vcGVuc2hlbGwudjEuR2V0RHJhZnRIaXN0b3J5UmVzcG9uc2UiH4K1GBsKBmJlYXJlchIEdXNlciILY29uZmlnOnJlYWQScwoRSXNzdWVTYW5kYm94VG9rZW4SJi5vcGVuc2hlbGwudjEuSXNzdWVTYW5kYm94VG9rZW5SZXF1ZXN0Gicub3BlbnNoZWxsLnYxLklzc3VlU2FuZGJveFRva2VuUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSeQoTUmVmcmVzaFNhbmRib3hUb2tlbhIoLm9wZW5zaGVsbC52MS5SZWZyZXNoU2FuZGJveFRva2VuUmVxdWVzdBopLm9wZW5zaGVsbC52MS5SZWZyZXNoU2FuZGJveFRva2VuUmVzcG9uc2UiDYK1GAkKB3NhbmRib3gSjQEKD0NyZWF0ZVdvcmtzcGFjZRIkLm9wZW5zaGVsbC52MS5DcmVhdGVXb3Jrc3BhY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkNyZWF0ZVdvcmtzcGFjZVJlc3BvbnNlIi2CtRgpCgZiZWFyZXIaDnBsYXRmb3JtX2FkbWluIg93b3Jrc3BhY2U6d3JpdGUSeQoMR2V0V29ya3NwYWNlEiEub3BlbnNoZWxsLnYxLkdldFdvcmtzcGFjZVJlcXVlc3QaIi5vcGVuc2hlbGwudjEuR2V0V29ya3NwYWNlUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIEdXNlciIOd29ya3NwYWNlOnJlYWQSfwoOTGlzdFdvcmtzcGFjZXMSIy5vcGVuc2hlbGwudjEuTGlzdFdvcmtzcGFjZXNSZXF1ZXN0GiQub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VzUmVzcG9uc2UiIoK1GB4KBmJlYXJlchIEdXNlciIOd29ya3NwYWNlOnJlYWQSjQEKD0RlbGV0ZVdvcmtzcGFjZRIkLm9wZW5zaGVsbC52MS5EZWxldGVXb3Jrc3BhY2VSZXF1ZXN0GiUub3BlbnNoZWxsLnYxLkRlbGV0ZVdvcmtzcGFjZVJlc3BvbnNlIi2CtRgpCgZiZWFyZXIaDnBsYXRmb3JtX2FkbWluIg93b3Jrc3BhY2U6d3JpdGUSjQEKEkFkZFdvcmtzcGFjZU1lbWJlchInLm9wZW5zaGVsbC52MS5BZGRXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0Gigub3BlbnNoZWxsLnYxLkFkZFdvcmtzcGFjZU1lbWJlclJlc3BvbnNlIiSCtRggCgZiZWFyZXISBWFkbWluIg93b3Jrc3BhY2U6d3JpdGUSlgEKFVJlbW92ZVdvcmtzcGFjZU1lbWJlchIqLm9wZW5zaGVsbC52MS5SZW1vdmVXb3Jrc3BhY2VNZW1iZXJSZXF1ZXN0Gisub3BlbnNoZWxsLnYxLlJlbW92ZVdvcmtzcGFjZU1lbWJlclJlc3BvbnNlIiSCtRggCgZiZWFyZXISBWFkbWluIg93b3Jrc3BhY2U6d3JpdGUSkQEKFExpc3RXb3Jrc3BhY2VNZW1iZXJzEikub3BlbnNoZWxsLnYxLkxpc3RXb3Jrc3BhY2VNZW1iZXJzUmVxdWVzdBoqLm9wZW5zaGVsbC52MS5MaXN0V29ya3NwYWNlTWVtYmVyc1Jlc3BvbnNlIiKCtRgeCgZiZWFyZXISBHVzZXIiDndvcmtzcGFjZTpyZWFkYgZwcm90bzM", [file_datamodel, file_google_protobuf_struct, file_options, file_sandbox]);
12
+ /**
13
+ * Describes the message openshell.v1.IssueSandboxTokenRequest.
14
+ * Use `create(IssueSandboxTokenRequestSchema)` to create a new message.
15
+ */
16
+ export const IssueSandboxTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 0);
17
+ /**
18
+ * Describes the message openshell.v1.IssueSandboxTokenResponse.
19
+ * Use `create(IssueSandboxTokenResponseSchema)` to create a new message.
20
+ */
21
+ export const IssueSandboxTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 1);
22
+ /**
23
+ * Describes the message openshell.v1.RefreshSandboxTokenRequest.
24
+ * Use `create(RefreshSandboxTokenRequestSchema)` to create a new message.
25
+ */
26
+ export const RefreshSandboxTokenRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 2);
27
+ /**
28
+ * Describes the message openshell.v1.RefreshSandboxTokenResponse.
29
+ * Use `create(RefreshSandboxTokenResponseSchema)` to create a new message.
30
+ */
31
+ export const RefreshSandboxTokenResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 3);
32
+ /**
33
+ * Describes the message openshell.v1.HealthRequest.
34
+ * Use `create(HealthRequestSchema)` to create a new message.
35
+ */
36
+ export const HealthRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 4);
37
+ /**
38
+ * Describes the message openshell.v1.HealthResponse.
39
+ * Use `create(HealthResponseSchema)` to create a new message.
40
+ */
41
+ export const HealthResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 5);
42
+ /**
43
+ * Describes the message openshell.v1.GetCurrentUserRequest.
44
+ * Use `create(GetCurrentUserRequestSchema)` to create a new message.
45
+ */
46
+ export const GetCurrentUserRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 6);
47
+ /**
48
+ * Describes the message openshell.v1.GetCurrentUserResponse.
49
+ * Use `create(GetCurrentUserResponseSchema)` to create a new message.
50
+ */
51
+ export const GetCurrentUserResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 7);
52
+ /**
53
+ * Describes the message openshell.v1.GetGatewayInfoRequest.
54
+ * Use `create(GetGatewayInfoRequestSchema)` to create a new message.
55
+ */
56
+ export const GetGatewayInfoRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 8);
57
+ /**
58
+ * Describes the message openshell.v1.GetGatewayInfoResponse.
59
+ * Use `create(GetGatewayInfoResponseSchema)` to create a new message.
60
+ */
61
+ export const GetGatewayInfoResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 9);
62
+ /**
63
+ * Describes the message openshell.v1.ComputeDriverInfo.
64
+ * Use `create(ComputeDriverInfoSchema)` to create a new message.
65
+ */
66
+ export const ComputeDriverInfoSchema = /*@__PURE__*/ messageDesc(file_openshell, 10);
67
+ /**
68
+ * Describes the message openshell.v1.ComputeDriverCapabilities.
69
+ * Use `create(ComputeDriverCapabilitiesSchema)` to create a new message.
70
+ */
71
+ export const ComputeDriverCapabilitiesSchema = /*@__PURE__*/ messageDesc(file_openshell, 11);
72
+ /**
73
+ * Describes the message openshell.v1.Sandbox.
74
+ * Use `create(SandboxSchema)` to create a new message.
75
+ */
76
+ export const SandboxSchema = /*@__PURE__*/ messageDesc(file_openshell, 12);
77
+ /**
78
+ * Describes the message openshell.v1.SandboxSpec.
79
+ * Use `create(SandboxSpecSchema)` to create a new message.
80
+ */
81
+ export const SandboxSpecSchema = /*@__PURE__*/ messageDesc(file_openshell, 13);
82
+ /**
83
+ * Describes the message openshell.v1.ResourceRequirements.
84
+ * Use `create(ResourceRequirementsSchema)` to create a new message.
85
+ */
86
+ export const ResourceRequirementsSchema = /*@__PURE__*/ messageDesc(file_openshell, 14);
87
+ /**
88
+ * Describes the message openshell.v1.GpuResourceRequirements.
89
+ * Use `create(GpuResourceRequirementsSchema)` to create a new message.
90
+ */
91
+ export const GpuResourceRequirementsSchema = /*@__PURE__*/ messageDesc(file_openshell, 15);
92
+ /**
93
+ * Describes the message openshell.v1.SandboxTemplate.
94
+ * Use `create(SandboxTemplateSchema)` to create a new message.
95
+ */
96
+ export const SandboxTemplateSchema = /*@__PURE__*/ messageDesc(file_openshell, 16);
97
+ /**
98
+ * Describes the message openshell.v1.SandboxStatus.
99
+ * Use `create(SandboxStatusSchema)` to create a new message.
100
+ */
101
+ export const SandboxStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 17);
102
+ /**
103
+ * Describes the message openshell.v1.SandboxCondition.
104
+ * Use `create(SandboxConditionSchema)` to create a new message.
105
+ */
106
+ export const SandboxConditionSchema = /*@__PURE__*/ messageDesc(file_openshell, 18);
107
+ /**
108
+ * Describes the message openshell.v1.PlatformEvent.
109
+ * Use `create(PlatformEventSchema)` to create a new message.
110
+ */
111
+ export const PlatformEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 19);
112
+ /**
113
+ * Describes the message openshell.v1.CreateSandboxRequest.
114
+ * Use `create(CreateSandboxRequestSchema)` to create a new message.
115
+ */
116
+ export const CreateSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 20);
117
+ /**
118
+ * Describes the message openshell.v1.GetSandboxRequest.
119
+ * Use `create(GetSandboxRequestSchema)` to create a new message.
120
+ */
121
+ export const GetSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 21);
122
+ /**
123
+ * Describes the message openshell.v1.ListSandboxesRequest.
124
+ * Use `create(ListSandboxesRequestSchema)` to create a new message.
125
+ */
126
+ export const ListSandboxesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 22);
127
+ /**
128
+ * Describes the message openshell.v1.ListSandboxProvidersRequest.
129
+ * Use `create(ListSandboxProvidersRequestSchema)` to create a new message.
130
+ */
131
+ export const ListSandboxProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 23);
132
+ /**
133
+ * Describes the message openshell.v1.AttachSandboxProviderRequest.
134
+ * Use `create(AttachSandboxProviderRequestSchema)` to create a new message.
135
+ */
136
+ export const AttachSandboxProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 24);
137
+ /**
138
+ * Describes the message openshell.v1.DetachSandboxProviderRequest.
139
+ * Use `create(DetachSandboxProviderRequestSchema)` to create a new message.
140
+ */
141
+ export const DetachSandboxProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 25);
142
+ /**
143
+ * Describes the message openshell.v1.DeleteSandboxRequest.
144
+ * Use `create(DeleteSandboxRequestSchema)` to create a new message.
145
+ */
146
+ export const DeleteSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 26);
147
+ /**
148
+ * Describes the message openshell.v1.StopSandboxRequest.
149
+ * Use `create(StopSandboxRequestSchema)` to create a new message.
150
+ */
151
+ export const StopSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 27);
152
+ /**
153
+ * Describes the message openshell.v1.StartSandboxRequest.
154
+ * Use `create(StartSandboxRequestSchema)` to create a new message.
155
+ */
156
+ export const StartSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 28);
157
+ /**
158
+ * Describes the message openshell.v1.SandboxResponse.
159
+ * Use `create(SandboxResponseSchema)` to create a new message.
160
+ */
161
+ export const SandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 29);
162
+ /**
163
+ * Describes the message openshell.v1.ListSandboxesResponse.
164
+ * Use `create(ListSandboxesResponseSchema)` to create a new message.
165
+ */
166
+ export const ListSandboxesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 30);
167
+ /**
168
+ * Describes the message openshell.v1.ListSandboxProvidersResponse.
169
+ * Use `create(ListSandboxProvidersResponseSchema)` to create a new message.
170
+ */
171
+ export const ListSandboxProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 31);
172
+ /**
173
+ * Describes the message openshell.v1.AttachSandboxProviderResponse.
174
+ * Use `create(AttachSandboxProviderResponseSchema)` to create a new message.
175
+ */
176
+ export const AttachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 32);
177
+ /**
178
+ * Describes the message openshell.v1.DetachSandboxProviderResponse.
179
+ * Use `create(DetachSandboxProviderResponseSchema)` to create a new message.
180
+ */
181
+ export const DetachSandboxProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 33);
182
+ /**
183
+ * Describes the message openshell.v1.DeleteSandboxResponse.
184
+ * Use `create(DeleteSandboxResponseSchema)` to create a new message.
185
+ */
186
+ export const DeleteSandboxResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 34);
187
+ /**
188
+ * Describes the message openshell.v1.CreateSshSessionRequest.
189
+ * Use `create(CreateSshSessionRequestSchema)` to create a new message.
190
+ */
191
+ export const CreateSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 35);
192
+ /**
193
+ * Describes the message openshell.v1.CreateSshSessionResponse.
194
+ * Use `create(CreateSshSessionResponseSchema)` to create a new message.
195
+ */
196
+ export const CreateSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 36);
197
+ /**
198
+ * Describes the message openshell.v1.ExposeServiceRequest.
199
+ * Use `create(ExposeServiceRequestSchema)` to create a new message.
200
+ */
201
+ export const ExposeServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 37);
202
+ /**
203
+ * Describes the message openshell.v1.GetServiceRequest.
204
+ * Use `create(GetServiceRequestSchema)` to create a new message.
205
+ */
206
+ export const GetServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 38);
207
+ /**
208
+ * Describes the message openshell.v1.ListServicesRequest.
209
+ * Use `create(ListServicesRequestSchema)` to create a new message.
210
+ */
211
+ export const ListServicesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 39);
212
+ /**
213
+ * Describes the message openshell.v1.ListServicesResponse.
214
+ * Use `create(ListServicesResponseSchema)` to create a new message.
215
+ */
216
+ export const ListServicesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 40);
217
+ /**
218
+ * Describes the message openshell.v1.DeleteServiceRequest.
219
+ * Use `create(DeleteServiceRequestSchema)` to create a new message.
220
+ */
221
+ export const DeleteServiceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 41);
222
+ /**
223
+ * Describes the message openshell.v1.DeleteServiceResponse.
224
+ * Use `create(DeleteServiceResponseSchema)` to create a new message.
225
+ */
226
+ export const DeleteServiceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 42);
227
+ /**
228
+ * Describes the message openshell.v1.ServiceEndpoint.
229
+ * Use `create(ServiceEndpointSchema)` to create a new message.
230
+ */
231
+ export const ServiceEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 43);
232
+ /**
233
+ * Describes the message openshell.v1.ServiceEndpointResponse.
234
+ * Use `create(ServiceEndpointResponseSchema)` to create a new message.
235
+ */
236
+ export const ServiceEndpointResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 44);
237
+ /**
238
+ * Describes the message openshell.v1.RevokeSshSessionRequest.
239
+ * Use `create(RevokeSshSessionRequestSchema)` to create a new message.
240
+ */
241
+ export const RevokeSshSessionRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 45);
242
+ /**
243
+ * Describes the message openshell.v1.RevokeSshSessionResponse.
244
+ * Use `create(RevokeSshSessionResponseSchema)` to create a new message.
245
+ */
246
+ export const RevokeSshSessionResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 46);
247
+ /**
248
+ * Describes the message openshell.v1.ExecSandboxRequest.
249
+ * Use `create(ExecSandboxRequestSchema)` to create a new message.
250
+ */
251
+ export const ExecSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 47);
252
+ /**
253
+ * Describes the message openshell.v1.ExecSandboxStdout.
254
+ * Use `create(ExecSandboxStdoutSchema)` to create a new message.
255
+ */
256
+ export const ExecSandboxStdoutSchema = /*@__PURE__*/ messageDesc(file_openshell, 48);
257
+ /**
258
+ * Describes the message openshell.v1.ExecSandboxStderr.
259
+ * Use `create(ExecSandboxStderrSchema)` to create a new message.
260
+ */
261
+ export const ExecSandboxStderrSchema = /*@__PURE__*/ messageDesc(file_openshell, 49);
262
+ /**
263
+ * Describes the message openshell.v1.ExecSandboxExit.
264
+ * Use `create(ExecSandboxExitSchema)` to create a new message.
265
+ */
266
+ export const ExecSandboxExitSchema = /*@__PURE__*/ messageDesc(file_openshell, 50);
267
+ /**
268
+ * Describes the message openshell.v1.ExecSandboxEvent.
269
+ * Use `create(ExecSandboxEventSchema)` to create a new message.
270
+ */
271
+ export const ExecSandboxEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 51);
272
+ /**
273
+ * Describes the message openshell.v1.TcpForwardInit.
274
+ * Use `create(TcpForwardInitSchema)` to create a new message.
275
+ */
276
+ export const TcpForwardInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 52);
277
+ /**
278
+ * Describes the message openshell.v1.TcpForwardFrame.
279
+ * Use `create(TcpForwardFrameSchema)` to create a new message.
280
+ */
281
+ export const TcpForwardFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 53);
282
+ /**
283
+ * Describes the message openshell.v1.ExecSandboxInput.
284
+ * Use `create(ExecSandboxInputSchema)` to create a new message.
285
+ */
286
+ export const ExecSandboxInputSchema = /*@__PURE__*/ messageDesc(file_openshell, 54);
287
+ /**
288
+ * Describes the message openshell.v1.ExecSandboxWindowResize.
289
+ * Use `create(ExecSandboxWindowResizeSchema)` to create a new message.
290
+ */
291
+ export const ExecSandboxWindowResizeSchema = /*@__PURE__*/ messageDesc(file_openshell, 55);
292
+ /**
293
+ * Describes the message openshell.v1.SshSession.
294
+ * Use `create(SshSessionSchema)` to create a new message.
295
+ */
296
+ export const SshSessionSchema = /*@__PURE__*/ messageDesc(file_openshell, 56);
297
+ /**
298
+ * Describes the message openshell.v1.WatchSandboxRequest.
299
+ * Use `create(WatchSandboxRequestSchema)` to create a new message.
300
+ */
301
+ export const WatchSandboxRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 57);
302
+ /**
303
+ * Describes the message openshell.v1.SandboxStreamEvent.
304
+ * Use `create(SandboxStreamEventSchema)` to create a new message.
305
+ */
306
+ export const SandboxStreamEventSchema = /*@__PURE__*/ messageDesc(file_openshell, 58);
307
+ /**
308
+ * Describes the message openshell.v1.SandboxLogLine.
309
+ * Use `create(SandboxLogLineSchema)` to create a new message.
310
+ */
311
+ export const SandboxLogLineSchema = /*@__PURE__*/ messageDesc(file_openshell, 59);
312
+ /**
313
+ * Describes the message openshell.v1.SandboxStreamWarning.
314
+ * Use `create(SandboxStreamWarningSchema)` to create a new message.
315
+ */
316
+ export const SandboxStreamWarningSchema = /*@__PURE__*/ messageDesc(file_openshell, 60);
317
+ /**
318
+ * Describes the message openshell.v1.CreateProviderRequest.
319
+ * Use `create(CreateProviderRequestSchema)` to create a new message.
320
+ */
321
+ export const CreateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 61);
322
+ /**
323
+ * Describes the message openshell.v1.GetProviderRequest.
324
+ * Use `create(GetProviderRequestSchema)` to create a new message.
325
+ */
326
+ export const GetProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 62);
327
+ /**
328
+ * Describes the message openshell.v1.ListProvidersRequest.
329
+ * Use `create(ListProvidersRequestSchema)` to create a new message.
330
+ */
331
+ export const ListProvidersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 63);
332
+ /**
333
+ * Describes the message openshell.v1.UpdateProviderRequest.
334
+ * Use `create(UpdateProviderRequestSchema)` to create a new message.
335
+ */
336
+ export const UpdateProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 64);
337
+ /**
338
+ * Describes the message openshell.v1.DeleteProviderRequest.
339
+ * Use `create(DeleteProviderRequestSchema)` to create a new message.
340
+ */
341
+ export const DeleteProviderRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 65);
342
+ /**
343
+ * Describes the message openshell.v1.ProviderResponse.
344
+ * Use `create(ProviderResponseSchema)` to create a new message.
345
+ */
346
+ export const ProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 66);
347
+ /**
348
+ * Describes the message openshell.v1.ListProvidersResponse.
349
+ * Use `create(ListProvidersResponseSchema)` to create a new message.
350
+ */
351
+ export const ListProvidersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 67);
352
+ /**
353
+ * Describes the message openshell.v1.ListProviderProfilesRequest.
354
+ * Use `create(ListProviderProfilesRequestSchema)` to create a new message.
355
+ */
356
+ export const ListProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 68);
357
+ /**
358
+ * Describes the message openshell.v1.GetProviderProfileRequest.
359
+ * Use `create(GetProviderProfileRequestSchema)` to create a new message.
360
+ */
361
+ export const GetProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 69);
362
+ /**
363
+ * Describes the message openshell.v1.ProviderProfileImportItem.
364
+ * Use `create(ProviderProfileImportItemSchema)` to create a new message.
365
+ */
366
+ export const ProviderProfileImportItemSchema = /*@__PURE__*/ messageDesc(file_openshell, 70);
367
+ /**
368
+ * Describes the message openshell.v1.ProviderProfileDiagnostic.
369
+ * Use `create(ProviderProfileDiagnosticSchema)` to create a new message.
370
+ */
371
+ export const ProviderProfileDiagnosticSchema = /*@__PURE__*/ messageDesc(file_openshell, 71);
372
+ /**
373
+ * Describes the message openshell.v1.ProviderCredentialTokenGrantAudienceOverride.
374
+ * Use `create(ProviderCredentialTokenGrantAudienceOverrideSchema)` to create a new message.
375
+ */
376
+ export const ProviderCredentialTokenGrantAudienceOverrideSchema = /*@__PURE__*/ messageDesc(file_openshell, 72);
377
+ /**
378
+ * Describes the message openshell.v1.ProviderCredentialTokenGrant.
379
+ * Use `create(ProviderCredentialTokenGrantSchema)` to create a new message.
380
+ */
381
+ export const ProviderCredentialTokenGrantSchema = /*@__PURE__*/ messageDesc(file_openshell, 73);
382
+ /**
383
+ * Describes the message openshell.v1.ProviderProfileCredential.
384
+ * Use `create(ProviderProfileCredentialSchema)` to create a new message.
385
+ */
386
+ export const ProviderProfileCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 74);
387
+ /**
388
+ * Describes the message openshell.v1.ProviderCredentialRefreshMaterial.
389
+ * Use `create(ProviderCredentialRefreshMaterialSchema)` to create a new message.
390
+ */
391
+ export const ProviderCredentialRefreshMaterialSchema = /*@__PURE__*/ messageDesc(file_openshell, 75);
392
+ /**
393
+ * Describes the message openshell.v1.ProviderCredentialRefreshOutput.
394
+ * Use `create(ProviderCredentialRefreshOutputSchema)` to create a new message.
395
+ */
396
+ export const ProviderCredentialRefreshOutputSchema = /*@__PURE__*/ messageDesc(file_openshell, 76);
397
+ /**
398
+ * Describes the message openshell.v1.ProviderCredentialRefresh.
399
+ * Use `create(ProviderCredentialRefreshSchema)` to create a new message.
400
+ */
401
+ export const ProviderCredentialRefreshSchema = /*@__PURE__*/ messageDesc(file_openshell, 77);
402
+ /**
403
+ * Describes the message openshell.v1.ProviderCredentialRefreshStatus.
404
+ * Use `create(ProviderCredentialRefreshStatusSchema)` to create a new message.
405
+ */
406
+ export const ProviderCredentialRefreshStatusSchema = /*@__PURE__*/ messageDesc(file_openshell, 78);
407
+ /**
408
+ * Describes the message openshell.v1.ProviderProfileDiscovery.
409
+ * Use `create(ProviderProfileDiscoverySchema)` to create a new message.
410
+ */
411
+ export const ProviderProfileDiscoverySchema = /*@__PURE__*/ messageDesc(file_openshell, 79);
412
+ /**
413
+ * Describes the message openshell.v1.StoredProviderCredentialRefreshState.
414
+ * Use `create(StoredProviderCredentialRefreshStateSchema)` to create a new message.
415
+ */
416
+ export const StoredProviderCredentialRefreshStateSchema = /*@__PURE__*/ messageDesc(file_openshell, 80);
417
+ /**
418
+ * Describes the message openshell.v1.StoredRefreshMaterialDeletion.
419
+ * Use `create(StoredRefreshMaterialDeletionSchema)` to create a new message.
420
+ */
421
+ export const StoredRefreshMaterialDeletionSchema = /*@__PURE__*/ messageDesc(file_openshell, 81);
422
+ /**
423
+ * Describes the message openshell.v1.GetProviderRefreshStatusRequest.
424
+ * Use `create(GetProviderRefreshStatusRequestSchema)` to create a new message.
425
+ */
426
+ export const GetProviderRefreshStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 82);
427
+ /**
428
+ * Describes the message openshell.v1.GetProviderRefreshStatusResponse.
429
+ * Use `create(GetProviderRefreshStatusResponseSchema)` to create a new message.
430
+ */
431
+ export const GetProviderRefreshStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 83);
432
+ /**
433
+ * Describes the message openshell.v1.ConfigureProviderRefreshRequest.
434
+ * Use `create(ConfigureProviderRefreshRequestSchema)` to create a new message.
435
+ */
436
+ export const ConfigureProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 84);
437
+ /**
438
+ * Describes the message openshell.v1.ConfigureProviderRefreshResponse.
439
+ * Use `create(ConfigureProviderRefreshResponseSchema)` to create a new message.
440
+ */
441
+ export const ConfigureProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 85);
442
+ /**
443
+ * Describes the message openshell.v1.RotateProviderCredentialRequest.
444
+ * Use `create(RotateProviderCredentialRequestSchema)` to create a new message.
445
+ */
446
+ export const RotateProviderCredentialRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 86);
447
+ /**
448
+ * Describes the message openshell.v1.RotateProviderCredentialResponse.
449
+ * Use `create(RotateProviderCredentialResponseSchema)` to create a new message.
450
+ */
451
+ export const RotateProviderCredentialResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 87);
452
+ /**
453
+ * Describes the message openshell.v1.DeleteProviderRefreshRequest.
454
+ * Use `create(DeleteProviderRefreshRequestSchema)` to create a new message.
455
+ */
456
+ export const DeleteProviderRefreshRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 88);
457
+ /**
458
+ * Describes the message openshell.v1.DeleteProviderRefreshResponse.
459
+ * Use `create(DeleteProviderRefreshResponseSchema)` to create a new message.
460
+ */
461
+ export const DeleteProviderRefreshResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 89);
462
+ /**
463
+ * Describes the message openshell.v1.ProviderProfile.
464
+ * Use `create(ProviderProfileSchema)` to create a new message.
465
+ */
466
+ export const ProviderProfileSchema = /*@__PURE__*/ messageDesc(file_openshell, 90);
467
+ /**
468
+ * Describes the message openshell.v1.StoredProviderProfile.
469
+ * Use `create(StoredProviderProfileSchema)` to create a new message.
470
+ */
471
+ export const StoredProviderProfileSchema = /*@__PURE__*/ messageDesc(file_openshell, 91);
472
+ /**
473
+ * Describes the message openshell.v1.ProviderProfileResponse.
474
+ * Use `create(ProviderProfileResponseSchema)` to create a new message.
475
+ */
476
+ export const ProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 92);
477
+ /**
478
+ * Describes the message openshell.v1.ListProviderProfilesResponse.
479
+ * Use `create(ListProviderProfilesResponseSchema)` to create a new message.
480
+ */
481
+ export const ListProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 93);
482
+ /**
483
+ * Describes the message openshell.v1.ImportProviderProfilesRequest.
484
+ * Use `create(ImportProviderProfilesRequestSchema)` to create a new message.
485
+ */
486
+ export const ImportProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 94);
487
+ /**
488
+ * Describes the message openshell.v1.ImportProviderProfilesResponse.
489
+ * Use `create(ImportProviderProfilesResponseSchema)` to create a new message.
490
+ */
491
+ export const ImportProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 95);
492
+ /**
493
+ * Describes the message openshell.v1.UpdateProviderProfilesRequest.
494
+ * Use `create(UpdateProviderProfilesRequestSchema)` to create a new message.
495
+ */
496
+ export const UpdateProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 96);
497
+ /**
498
+ * Describes the message openshell.v1.UpdateProviderProfilesResponse.
499
+ * Use `create(UpdateProviderProfilesResponseSchema)` to create a new message.
500
+ */
501
+ export const UpdateProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 97);
502
+ /**
503
+ * Describes the message openshell.v1.LintProviderProfilesRequest.
504
+ * Use `create(LintProviderProfilesRequestSchema)` to create a new message.
505
+ */
506
+ export const LintProviderProfilesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 98);
507
+ /**
508
+ * Describes the message openshell.v1.LintProviderProfilesResponse.
509
+ * Use `create(LintProviderProfilesResponseSchema)` to create a new message.
510
+ */
511
+ export const LintProviderProfilesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 99);
512
+ /**
513
+ * Describes the message openshell.v1.DeleteProviderResponse.
514
+ * Use `create(DeleteProviderResponseSchema)` to create a new message.
515
+ */
516
+ export const DeleteProviderResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 100);
517
+ /**
518
+ * Describes the message openshell.v1.DeleteProviderProfileRequest.
519
+ * Use `create(DeleteProviderProfileRequestSchema)` to create a new message.
520
+ */
521
+ export const DeleteProviderProfileRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 101);
522
+ /**
523
+ * Describes the message openshell.v1.DeleteProviderProfileResponse.
524
+ * Use `create(DeleteProviderProfileResponseSchema)` to create a new message.
525
+ */
526
+ export const DeleteProviderProfileResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 102);
527
+ /**
528
+ * Describes the message openshell.v1.GetSandboxProviderEnvironmentRequest.
529
+ * Use `create(GetSandboxProviderEnvironmentRequestSchema)` to create a new message.
530
+ */
531
+ export const GetSandboxProviderEnvironmentRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 103);
532
+ /**
533
+ * Describes the message openshell.v1.StaticCredentialEndpointBinding.
534
+ * Use `create(StaticCredentialEndpointBindingSchema)` to create a new message.
535
+ */
536
+ export const StaticCredentialEndpointBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 104);
537
+ /**
538
+ * Describes the message openshell.v1.StaticCredentialBinding.
539
+ * Use `create(StaticCredentialBindingSchema)` to create a new message.
540
+ */
541
+ export const StaticCredentialBindingSchema = /*@__PURE__*/ messageDesc(file_openshell, 105);
542
+ /**
543
+ * Describes the message openshell.v1.GetSandboxProviderEnvironmentResponse.
544
+ * Use `create(GetSandboxProviderEnvironmentResponseSchema)` to create a new message.
545
+ */
546
+ export const GetSandboxProviderEnvironmentResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 106);
547
+ /**
548
+ * Describes the message openshell.v1.UpdateConfigRequest.
549
+ * Use `create(UpdateConfigRequestSchema)` to create a new message.
550
+ */
551
+ export const UpdateConfigRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 107);
552
+ /**
553
+ * Describes the message openshell.v1.PolicyMergeOperation.
554
+ * Use `create(PolicyMergeOperationSchema)` to create a new message.
555
+ */
556
+ export const PolicyMergeOperationSchema = /*@__PURE__*/ messageDesc(file_openshell, 108);
557
+ /**
558
+ * Describes the message openshell.v1.AddNetworkRule.
559
+ * Use `create(AddNetworkRuleSchema)` to create a new message.
560
+ */
561
+ export const AddNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 109);
562
+ /**
563
+ * Describes the message openshell.v1.RemoveNetworkEndpoint.
564
+ * Use `create(RemoveNetworkEndpointSchema)` to create a new message.
565
+ */
566
+ export const RemoveNetworkEndpointSchema = /*@__PURE__*/ messageDesc(file_openshell, 110);
567
+ /**
568
+ * Describes the message openshell.v1.RemoveNetworkRule.
569
+ * Use `create(RemoveNetworkRuleSchema)` to create a new message.
570
+ */
571
+ export const RemoveNetworkRuleSchema = /*@__PURE__*/ messageDesc(file_openshell, 111);
572
+ /**
573
+ * Describes the message openshell.v1.AddDenyRules.
574
+ * Use `create(AddDenyRulesSchema)` to create a new message.
575
+ */
576
+ export const AddDenyRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 112);
577
+ /**
578
+ * Describes the message openshell.v1.AddAllowRules.
579
+ * Use `create(AddAllowRulesSchema)` to create a new message.
580
+ */
581
+ export const AddAllowRulesSchema = /*@__PURE__*/ messageDesc(file_openshell, 113);
582
+ /**
583
+ * Describes the message openshell.v1.RemoveNetworkBinary.
584
+ * Use `create(RemoveNetworkBinarySchema)` to create a new message.
585
+ */
586
+ export const RemoveNetworkBinarySchema = /*@__PURE__*/ messageDesc(file_openshell, 114);
587
+ /**
588
+ * Describes the message openshell.v1.UpdateConfigResponse.
589
+ * Use `create(UpdateConfigResponseSchema)` to create a new message.
590
+ */
591
+ export const UpdateConfigResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 115);
592
+ /**
593
+ * Describes the message openshell.v1.GetSandboxPolicyStatusRequest.
594
+ * Use `create(GetSandboxPolicyStatusRequestSchema)` to create a new message.
595
+ */
596
+ export const GetSandboxPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 116);
597
+ /**
598
+ * Describes the message openshell.v1.GetSandboxPolicyStatusResponse.
599
+ * Use `create(GetSandboxPolicyStatusResponseSchema)` to create a new message.
600
+ */
601
+ export const GetSandboxPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 117);
602
+ /**
603
+ * Describes the message openshell.v1.ListSandboxPoliciesRequest.
604
+ * Use `create(ListSandboxPoliciesRequestSchema)` to create a new message.
605
+ */
606
+ export const ListSandboxPoliciesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 118);
607
+ /**
608
+ * Describes the message openshell.v1.ListSandboxPoliciesResponse.
609
+ * Use `create(ListSandboxPoliciesResponseSchema)` to create a new message.
610
+ */
611
+ export const ListSandboxPoliciesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 119);
612
+ /**
613
+ * Describes the message openshell.v1.ReportPolicyStatusRequest.
614
+ * Use `create(ReportPolicyStatusRequestSchema)` to create a new message.
615
+ */
616
+ export const ReportPolicyStatusRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 120);
617
+ /**
618
+ * Describes the message openshell.v1.ReportPolicyStatusResponse.
619
+ * Use `create(ReportPolicyStatusResponseSchema)` to create a new message.
620
+ */
621
+ export const ReportPolicyStatusResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 121);
622
+ /**
623
+ * Describes the message openshell.v1.SandboxPolicyRevision.
624
+ * Use `create(SandboxPolicyRevisionSchema)` to create a new message.
625
+ */
626
+ export const SandboxPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 122);
627
+ /**
628
+ * Describes the message openshell.v1.GetSandboxLogsRequest.
629
+ * Use `create(GetSandboxLogsRequestSchema)` to create a new message.
630
+ */
631
+ export const GetSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 123);
632
+ /**
633
+ * Describes the message openshell.v1.PushSandboxLogsRequest.
634
+ * Use `create(PushSandboxLogsRequestSchema)` to create a new message.
635
+ */
636
+ export const PushSandboxLogsRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 124);
637
+ /**
638
+ * Describes the message openshell.v1.PushSandboxLogsResponse.
639
+ * Use `create(PushSandboxLogsResponseSchema)` to create a new message.
640
+ */
641
+ export const PushSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 125);
642
+ /**
643
+ * Describes the message openshell.v1.GetSandboxLogsResponse.
644
+ * Use `create(GetSandboxLogsResponseSchema)` to create a new message.
645
+ */
646
+ export const GetSandboxLogsResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 126);
647
+ /**
648
+ * Describes the message openshell.v1.SupervisorMessage.
649
+ * Use `create(SupervisorMessageSchema)` to create a new message.
650
+ */
651
+ export const SupervisorMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 127);
652
+ /**
653
+ * Describes the message openshell.v1.GatewayMessage.
654
+ * Use `create(GatewayMessageSchema)` to create a new message.
655
+ */
656
+ export const GatewayMessageSchema = /*@__PURE__*/ messageDesc(file_openshell, 128);
657
+ /**
658
+ * Describes the message openshell.v1.SupervisorHello.
659
+ * Use `create(SupervisorHelloSchema)` to create a new message.
660
+ */
661
+ export const SupervisorHelloSchema = /*@__PURE__*/ messageDesc(file_openshell, 129);
662
+ /**
663
+ * Describes the message openshell.v1.SessionAccepted.
664
+ * Use `create(SessionAcceptedSchema)` to create a new message.
665
+ */
666
+ export const SessionAcceptedSchema = /*@__PURE__*/ messageDesc(file_openshell, 130);
667
+ /**
668
+ * Describes the message openshell.v1.SessionRejected.
669
+ * Use `create(SessionRejectedSchema)` to create a new message.
670
+ */
671
+ export const SessionRejectedSchema = /*@__PURE__*/ messageDesc(file_openshell, 131);
672
+ /**
673
+ * Describes the message openshell.v1.SupervisorHeartbeat.
674
+ * Use `create(SupervisorHeartbeatSchema)` to create a new message.
675
+ */
676
+ export const SupervisorHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 132);
677
+ /**
678
+ * Describes the message openshell.v1.GatewayHeartbeat.
679
+ * Use `create(GatewayHeartbeatSchema)` to create a new message.
680
+ */
681
+ export const GatewayHeartbeatSchema = /*@__PURE__*/ messageDesc(file_openshell, 133);
682
+ /**
683
+ * Describes the message openshell.v1.RelayOpen.
684
+ * Use `create(RelayOpenSchema)` to create a new message.
685
+ */
686
+ export const RelayOpenSchema = /*@__PURE__*/ messageDesc(file_openshell, 134);
687
+ /**
688
+ * Describes the message openshell.v1.SshRelayTarget.
689
+ * Use `create(SshRelayTargetSchema)` to create a new message.
690
+ */
691
+ export const SshRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 135);
692
+ /**
693
+ * Describes the message openshell.v1.TcpRelayTarget.
694
+ * Use `create(TcpRelayTargetSchema)` to create a new message.
695
+ */
696
+ export const TcpRelayTargetSchema = /*@__PURE__*/ messageDesc(file_openshell, 136);
697
+ /**
698
+ * Describes the message openshell.v1.RelayInit.
699
+ * Use `create(RelayInitSchema)` to create a new message.
700
+ */
701
+ export const RelayInitSchema = /*@__PURE__*/ messageDesc(file_openshell, 137);
702
+ /**
703
+ * Describes the message openshell.v1.RelayFrame.
704
+ * Use `create(RelayFrameSchema)` to create a new message.
705
+ */
706
+ export const RelayFrameSchema = /*@__PURE__*/ messageDesc(file_openshell, 138);
707
+ /**
708
+ * Describes the message openshell.v1.RelayOpenResult.
709
+ * Use `create(RelayOpenResultSchema)` to create a new message.
710
+ */
711
+ export const RelayOpenResultSchema = /*@__PURE__*/ messageDesc(file_openshell, 139);
712
+ /**
713
+ * Describes the message openshell.v1.RelayClose.
714
+ * Use `create(RelayCloseSchema)` to create a new message.
715
+ */
716
+ export const RelayCloseSchema = /*@__PURE__*/ messageDesc(file_openshell, 140);
717
+ /**
718
+ * Describes the message openshell.v1.L7RequestSample.
719
+ * Use `create(L7RequestSampleSchema)` to create a new message.
720
+ */
721
+ export const L7RequestSampleSchema = /*@__PURE__*/ messageDesc(file_openshell, 141);
722
+ /**
723
+ * Describes the message openshell.v1.DenialSummary.
724
+ * Use `create(DenialSummarySchema)` to create a new message.
725
+ */
726
+ export const DenialSummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 142);
727
+ /**
728
+ * Describes the message openshell.v1.DenialGroupCount.
729
+ * Use `create(DenialGroupCountSchema)` to create a new message.
730
+ */
731
+ export const DenialGroupCountSchema = /*@__PURE__*/ messageDesc(file_openshell, 143);
732
+ /**
733
+ * Describes the message openshell.v1.NetworkActivitySummary.
734
+ * Use `create(NetworkActivitySummarySchema)` to create a new message.
735
+ */
736
+ export const NetworkActivitySummarySchema = /*@__PURE__*/ messageDesc(file_openshell, 144);
737
+ /**
738
+ * Describes the message openshell.v1.PolicyChunk.
739
+ * Use `create(PolicyChunkSchema)` to create a new message.
740
+ */
741
+ export const PolicyChunkSchema = /*@__PURE__*/ messageDesc(file_openshell, 145);
742
+ /**
743
+ * Describes the message openshell.v1.DraftPolicyUpdate.
744
+ * Use `create(DraftPolicyUpdateSchema)` to create a new message.
745
+ */
746
+ export const DraftPolicyUpdateSchema = /*@__PURE__*/ messageDesc(file_openshell, 146);
747
+ /**
748
+ * Describes the message openshell.v1.SubmitPolicyAnalysisRequest.
749
+ * Use `create(SubmitPolicyAnalysisRequestSchema)` to create a new message.
750
+ */
751
+ export const SubmitPolicyAnalysisRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 147);
752
+ /**
753
+ * Describes the message openshell.v1.SubmitPolicyAnalysisResponse.
754
+ * Use `create(SubmitPolicyAnalysisResponseSchema)` to create a new message.
755
+ */
756
+ export const SubmitPolicyAnalysisResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 148);
757
+ /**
758
+ * Describes the message openshell.v1.GetDraftPolicyRequest.
759
+ * Use `create(GetDraftPolicyRequestSchema)` to create a new message.
760
+ */
761
+ export const GetDraftPolicyRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 149);
762
+ /**
763
+ * Describes the message openshell.v1.GetDraftPolicyResponse.
764
+ * Use `create(GetDraftPolicyResponseSchema)` to create a new message.
765
+ */
766
+ export const GetDraftPolicyResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 150);
767
+ /**
768
+ * Describes the message openshell.v1.ApproveDraftChunkRequest.
769
+ * Use `create(ApproveDraftChunkRequestSchema)` to create a new message.
770
+ */
771
+ export const ApproveDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 151);
772
+ /**
773
+ * Describes the message openshell.v1.ApproveDraftChunkResponse.
774
+ * Use `create(ApproveDraftChunkResponseSchema)` to create a new message.
775
+ */
776
+ export const ApproveDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 152);
777
+ /**
778
+ * Describes the message openshell.v1.RejectDraftChunkRequest.
779
+ * Use `create(RejectDraftChunkRequestSchema)` to create a new message.
780
+ */
781
+ export const RejectDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 153);
782
+ /**
783
+ * Describes the message openshell.v1.RejectDraftChunkResponse.
784
+ * Use `create(RejectDraftChunkResponseSchema)` to create a new message.
785
+ */
786
+ export const RejectDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 154);
787
+ /**
788
+ * Describes the message openshell.v1.ApproveAllDraftChunksRequest.
789
+ * Use `create(ApproveAllDraftChunksRequestSchema)` to create a new message.
790
+ */
791
+ export const ApproveAllDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 155);
792
+ /**
793
+ * Describes the message openshell.v1.ApproveAllDraftChunksResponse.
794
+ * Use `create(ApproveAllDraftChunksResponseSchema)` to create a new message.
795
+ */
796
+ export const ApproveAllDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 156);
797
+ /**
798
+ * Describes the message openshell.v1.EditDraftChunkRequest.
799
+ * Use `create(EditDraftChunkRequestSchema)` to create a new message.
800
+ */
801
+ export const EditDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 157);
802
+ /**
803
+ * Describes the message openshell.v1.EditDraftChunkResponse.
804
+ * Use `create(EditDraftChunkResponseSchema)` to create a new message.
805
+ */
806
+ export const EditDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 158);
807
+ /**
808
+ * Describes the message openshell.v1.UndoDraftChunkRequest.
809
+ * Use `create(UndoDraftChunkRequestSchema)` to create a new message.
810
+ */
811
+ export const UndoDraftChunkRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 159);
812
+ /**
813
+ * Describes the message openshell.v1.UndoDraftChunkResponse.
814
+ * Use `create(UndoDraftChunkResponseSchema)` to create a new message.
815
+ */
816
+ export const UndoDraftChunkResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 160);
817
+ /**
818
+ * Describes the message openshell.v1.ClearDraftChunksRequest.
819
+ * Use `create(ClearDraftChunksRequestSchema)` to create a new message.
820
+ */
821
+ export const ClearDraftChunksRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 161);
822
+ /**
823
+ * Describes the message openshell.v1.ClearDraftChunksResponse.
824
+ * Use `create(ClearDraftChunksResponseSchema)` to create a new message.
825
+ */
826
+ export const ClearDraftChunksResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 162);
827
+ /**
828
+ * Describes the message openshell.v1.GetDraftHistoryRequest.
829
+ * Use `create(GetDraftHistoryRequestSchema)` to create a new message.
830
+ */
831
+ export const GetDraftHistoryRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 163);
832
+ /**
833
+ * Describes the message openshell.v1.DraftHistoryEntry.
834
+ * Use `create(DraftHistoryEntrySchema)` to create a new message.
835
+ */
836
+ export const DraftHistoryEntrySchema = /*@__PURE__*/ messageDesc(file_openshell, 164);
837
+ /**
838
+ * Describes the message openshell.v1.GetDraftHistoryResponse.
839
+ * Use `create(GetDraftHistoryResponseSchema)` to create a new message.
840
+ */
841
+ export const GetDraftHistoryResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 165);
842
+ /**
843
+ * Describes the message openshell.v1.PolicyRevisionPayload.
844
+ * Use `create(PolicyRevisionPayloadSchema)` to create a new message.
845
+ */
846
+ export const PolicyRevisionPayloadSchema = /*@__PURE__*/ messageDesc(file_openshell, 166);
847
+ /**
848
+ * Describes the message openshell.v1.DraftChunkPayload.
849
+ * Use `create(DraftChunkPayloadSchema)` to create a new message.
850
+ */
851
+ export const DraftChunkPayloadSchema = /*@__PURE__*/ messageDesc(file_openshell, 167);
852
+ /**
853
+ * Describes the message openshell.v1.StoredPolicyRevision.
854
+ * Use `create(StoredPolicyRevisionSchema)` to create a new message.
855
+ */
856
+ export const StoredPolicyRevisionSchema = /*@__PURE__*/ messageDesc(file_openshell, 168);
857
+ /**
858
+ * Describes the message openshell.v1.StoredDraftChunk.
859
+ * Use `create(StoredDraftChunkSchema)` to create a new message.
860
+ */
861
+ export const StoredDraftChunkSchema = /*@__PURE__*/ messageDesc(file_openshell, 169);
862
+ /**
863
+ * Describes the message openshell.v1.CreateWorkspaceRequest.
864
+ * Use `create(CreateWorkspaceRequestSchema)` to create a new message.
865
+ */
866
+ export const CreateWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 170);
867
+ /**
868
+ * Describes the message openshell.v1.CreateWorkspaceResponse.
869
+ * Use `create(CreateWorkspaceResponseSchema)` to create a new message.
870
+ */
871
+ export const CreateWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 171);
872
+ /**
873
+ * Describes the message openshell.v1.GetWorkspaceRequest.
874
+ * Use `create(GetWorkspaceRequestSchema)` to create a new message.
875
+ */
876
+ export const GetWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 172);
877
+ /**
878
+ * Describes the message openshell.v1.GetWorkspaceResponse.
879
+ * Use `create(GetWorkspaceResponseSchema)` to create a new message.
880
+ */
881
+ export const GetWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 173);
882
+ /**
883
+ * Describes the message openshell.v1.ListWorkspacesRequest.
884
+ * Use `create(ListWorkspacesRequestSchema)` to create a new message.
885
+ */
886
+ export const ListWorkspacesRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 174);
887
+ /**
888
+ * Describes the message openshell.v1.ListWorkspacesResponse.
889
+ * Use `create(ListWorkspacesResponseSchema)` to create a new message.
890
+ */
891
+ export const ListWorkspacesResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 175);
892
+ /**
893
+ * Describes the message openshell.v1.DeleteWorkspaceRequest.
894
+ * Use `create(DeleteWorkspaceRequestSchema)` to create a new message.
895
+ */
896
+ export const DeleteWorkspaceRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 176);
897
+ /**
898
+ * Describes the message openshell.v1.DeleteWorkspaceResponse.
899
+ * Use `create(DeleteWorkspaceResponseSchema)` to create a new message.
900
+ */
901
+ export const DeleteWorkspaceResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 177);
902
+ /**
903
+ * Describes the message openshell.v1.WorkspaceMember.
904
+ * Use `create(WorkspaceMemberSchema)` to create a new message.
905
+ */
906
+ export const WorkspaceMemberSchema = /*@__PURE__*/ messageDesc(file_openshell, 178);
907
+ /**
908
+ * Describes the message openshell.v1.AddWorkspaceMemberRequest.
909
+ * Use `create(AddWorkspaceMemberRequestSchema)` to create a new message.
910
+ */
911
+ export const AddWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 179);
912
+ /**
913
+ * Describes the message openshell.v1.AddWorkspaceMemberResponse.
914
+ * Use `create(AddWorkspaceMemberResponseSchema)` to create a new message.
915
+ */
916
+ export const AddWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 180);
917
+ /**
918
+ * Describes the message openshell.v1.RemoveWorkspaceMemberRequest.
919
+ * Use `create(RemoveWorkspaceMemberRequestSchema)` to create a new message.
920
+ */
921
+ export const RemoveWorkspaceMemberRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 181);
922
+ /**
923
+ * Describes the message openshell.v1.RemoveWorkspaceMemberResponse.
924
+ * Use `create(RemoveWorkspaceMemberResponseSchema)` to create a new message.
925
+ */
926
+ export const RemoveWorkspaceMemberResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 182);
927
+ /**
928
+ * Describes the message openshell.v1.ListWorkspaceMembersRequest.
929
+ * Use `create(ListWorkspaceMembersRequestSchema)` to create a new message.
930
+ */
931
+ export const ListWorkspaceMembersRequestSchema = /*@__PURE__*/ messageDesc(file_openshell, 183);
932
+ /**
933
+ * Describes the message openshell.v1.ListWorkspaceMembersResponse.
934
+ * Use `create(ListWorkspaceMembersResponseSchema)` to create a new message.
935
+ */
936
+ export const ListWorkspaceMembersResponseSchema = /*@__PURE__*/ messageDesc(file_openshell, 184);
937
+ /**
938
+ * Describes the message openshell.v1.ExtensionServiceCredential.
939
+ * Use `create(ExtensionServiceCredentialSchema)` to create a new message.
940
+ */
941
+ export const ExtensionServiceCredentialSchema = /*@__PURE__*/ messageDesc(file_openshell, 185);
942
+ /**
943
+ * High-level sandbox lifecycle phase derived by the gateway.
944
+ *
945
+ * Clients should rely on this normalized lifecycle summary for readiness and
946
+ * deletion decisions instead of interpreting raw conditions.
947
+ *
948
+ * @generated from enum openshell.v1.SandboxPhase
949
+ */
950
+ export var SandboxPhase;
951
+ (function (SandboxPhase) {
952
+ /**
953
+ * @generated from enum value: SANDBOX_PHASE_UNSPECIFIED = 0;
954
+ */
955
+ SandboxPhase[SandboxPhase["UNSPECIFIED"] = 0] = "UNSPECIFIED";
956
+ /**
957
+ * @generated from enum value: SANDBOX_PHASE_PROVISIONING = 1;
958
+ */
959
+ SandboxPhase[SandboxPhase["PROVISIONING"] = 1] = "PROVISIONING";
960
+ /**
961
+ * @generated from enum value: SANDBOX_PHASE_READY = 2;
962
+ */
963
+ SandboxPhase[SandboxPhase["READY"] = 2] = "READY";
964
+ /**
965
+ * @generated from enum value: SANDBOX_PHASE_ERROR = 3;
966
+ */
967
+ SandboxPhase[SandboxPhase["ERROR"] = 3] = "ERROR";
968
+ /**
969
+ * @generated from enum value: SANDBOX_PHASE_DELETING = 4;
970
+ */
971
+ SandboxPhase[SandboxPhase["DELETING"] = 4] = "DELETING";
972
+ /**
973
+ * @generated from enum value: SANDBOX_PHASE_UNKNOWN = 5;
974
+ */
975
+ SandboxPhase[SandboxPhase["UNKNOWN"] = 5] = "UNKNOWN";
976
+ /**
977
+ * @generated from enum value: SANDBOX_PHASE_STOPPING = 6;
978
+ */
979
+ SandboxPhase[SandboxPhase["STOPPING"] = 6] = "STOPPING";
980
+ /**
981
+ * @generated from enum value: SANDBOX_PHASE_STOPPED = 7;
982
+ */
983
+ SandboxPhase[SandboxPhase["STOPPED"] = 7] = "STOPPED";
984
+ /**
985
+ * @generated from enum value: SANDBOX_PHASE_STARTING = 8;
986
+ */
987
+ SandboxPhase[SandboxPhase["STARTING"] = 8] = "STARTING";
988
+ })(SandboxPhase || (SandboxPhase = {}));
989
+ /**
990
+ * Describes the enum openshell.v1.SandboxPhase.
991
+ */
992
+ export const SandboxPhaseSchema = /*@__PURE__*/ enumDesc(file_openshell, 0);
993
+ /**
994
+ * @generated from enum openshell.v1.ProviderCredentialRefreshStrategy
995
+ */
996
+ export var ProviderCredentialRefreshStrategy;
997
+ (function (ProviderCredentialRefreshStrategy) {
998
+ /**
999
+ * @generated from enum value: PROVIDER_CREDENTIAL_REFRESH_STRATEGY_UNSPECIFIED = 0;
1000
+ */
1001
+ ProviderCredentialRefreshStrategy[ProviderCredentialRefreshStrategy["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1002
+ /**
1003
+ * @generated from enum value: PROVIDER_CREDENTIAL_REFRESH_STRATEGY_STATIC = 1;
1004
+ */
1005
+ ProviderCredentialRefreshStrategy[ProviderCredentialRefreshStrategy["STATIC"] = 1] = "STATIC";
1006
+ /**
1007
+ * @generated from enum value: PROVIDER_CREDENTIAL_REFRESH_STRATEGY_EXTERNAL = 2;
1008
+ */
1009
+ ProviderCredentialRefreshStrategy[ProviderCredentialRefreshStrategy["EXTERNAL"] = 2] = "EXTERNAL";
1010
+ /**
1011
+ * @generated from enum value: PROVIDER_CREDENTIAL_REFRESH_STRATEGY_OAUTH2_REFRESH_TOKEN = 3;
1012
+ */
1013
+ ProviderCredentialRefreshStrategy[ProviderCredentialRefreshStrategy["OAUTH2_REFRESH_TOKEN"] = 3] = "OAUTH2_REFRESH_TOKEN";
1014
+ /**
1015
+ * @generated from enum value: PROVIDER_CREDENTIAL_REFRESH_STRATEGY_OAUTH2_CLIENT_CREDENTIALS = 4;
1016
+ */
1017
+ ProviderCredentialRefreshStrategy[ProviderCredentialRefreshStrategy["OAUTH2_CLIENT_CREDENTIALS"] = 4] = "OAUTH2_CLIENT_CREDENTIALS";
1018
+ /**
1019
+ * @generated from enum value: PROVIDER_CREDENTIAL_REFRESH_STRATEGY_GOOGLE_SERVICE_ACCOUNT_JWT = 5;
1020
+ */
1021
+ ProviderCredentialRefreshStrategy[ProviderCredentialRefreshStrategy["GOOGLE_SERVICE_ACCOUNT_JWT"] = 5] = "GOOGLE_SERVICE_ACCOUNT_JWT";
1022
+ /**
1023
+ * @generated from enum value: PROVIDER_CREDENTIAL_REFRESH_STRATEGY_AWS_STS_ASSUME_ROLE = 6;
1024
+ */
1025
+ ProviderCredentialRefreshStrategy[ProviderCredentialRefreshStrategy["AWS_STS_ASSUME_ROLE"] = 6] = "AWS_STS_ASSUME_ROLE";
1026
+ })(ProviderCredentialRefreshStrategy || (ProviderCredentialRefreshStrategy = {}));
1027
+ /**
1028
+ * Describes the enum openshell.v1.ProviderCredentialRefreshStrategy.
1029
+ */
1030
+ export const ProviderCredentialRefreshStrategySchema = /*@__PURE__*/ enumDesc(file_openshell, 1);
1031
+ /**
1032
+ * Stable provider profile categories used by clients for grouping and filtering.
1033
+ *
1034
+ * @generated from enum openshell.v1.ProviderProfileCategory
1035
+ */
1036
+ export var ProviderProfileCategory;
1037
+ (function (ProviderProfileCategory) {
1038
+ /**
1039
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_UNSPECIFIED = 0;
1040
+ */
1041
+ ProviderProfileCategory[ProviderProfileCategory["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1042
+ /**
1043
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_OTHER = 1;
1044
+ */
1045
+ ProviderProfileCategory[ProviderProfileCategory["OTHER"] = 1] = "OTHER";
1046
+ /**
1047
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_INFERENCE = 2;
1048
+ */
1049
+ ProviderProfileCategory[ProviderProfileCategory["INFERENCE"] = 2] = "INFERENCE";
1050
+ /**
1051
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_AGENT = 3;
1052
+ */
1053
+ ProviderProfileCategory[ProviderProfileCategory["AGENT"] = 3] = "AGENT";
1054
+ /**
1055
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_SOURCE_CONTROL = 4;
1056
+ */
1057
+ ProviderProfileCategory[ProviderProfileCategory["SOURCE_CONTROL"] = 4] = "SOURCE_CONTROL";
1058
+ /**
1059
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_MESSAGING = 5;
1060
+ */
1061
+ ProviderProfileCategory[ProviderProfileCategory["MESSAGING"] = 5] = "MESSAGING";
1062
+ /**
1063
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_DATA = 6;
1064
+ */
1065
+ ProviderProfileCategory[ProviderProfileCategory["DATA"] = 6] = "DATA";
1066
+ /**
1067
+ * @generated from enum value: PROVIDER_PROFILE_CATEGORY_KNOWLEDGE = 7;
1068
+ */
1069
+ ProviderProfileCategory[ProviderProfileCategory["KNOWLEDGE"] = 7] = "KNOWLEDGE";
1070
+ })(ProviderProfileCategory || (ProviderProfileCategory = {}));
1071
+ /**
1072
+ * Describes the enum openshell.v1.ProviderProfileCategory.
1073
+ */
1074
+ export const ProviderProfileCategorySchema = /*@__PURE__*/ enumDesc(file_openshell, 2);
1075
+ /**
1076
+ * Policy load status.
1077
+ *
1078
+ * @generated from enum openshell.v1.PolicyStatus
1079
+ */
1080
+ export var PolicyStatus;
1081
+ (function (PolicyStatus) {
1082
+ /**
1083
+ * @generated from enum value: POLICY_STATUS_UNSPECIFIED = 0;
1084
+ */
1085
+ PolicyStatus[PolicyStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1086
+ /**
1087
+ * Server received the update; sandbox has not yet loaded it.
1088
+ *
1089
+ * @generated from enum value: POLICY_STATUS_PENDING = 1;
1090
+ */
1091
+ PolicyStatus[PolicyStatus["PENDING"] = 1] = "PENDING";
1092
+ /**
1093
+ * Sandbox successfully applied this policy version.
1094
+ *
1095
+ * @generated from enum value: POLICY_STATUS_LOADED = 2;
1096
+ */
1097
+ PolicyStatus[PolicyStatus["LOADED"] = 2] = "LOADED";
1098
+ /**
1099
+ * Sandbox attempted to apply but failed; LKG policy remains active.
1100
+ *
1101
+ * @generated from enum value: POLICY_STATUS_FAILED = 3;
1102
+ */
1103
+ PolicyStatus[PolicyStatus["FAILED"] = 3] = "FAILED";
1104
+ /**
1105
+ * A newer version was persisted before the sandbox loaded this one.
1106
+ *
1107
+ * @generated from enum value: POLICY_STATUS_SUPERSEDED = 4;
1108
+ */
1109
+ PolicyStatus[PolicyStatus["SUPERSEDED"] = 4] = "SUPERSEDED";
1110
+ })(PolicyStatus || (PolicyStatus = {}));
1111
+ /**
1112
+ * Describes the enum openshell.v1.PolicyStatus.
1113
+ */
1114
+ export const PolicyStatusSchema = /*@__PURE__*/ enumDesc(file_openshell, 3);
1115
+ /**
1116
+ * Service status enum.
1117
+ *
1118
+ * @generated from enum openshell.v1.ServiceStatus
1119
+ */
1120
+ export var ServiceStatus;
1121
+ (function (ServiceStatus) {
1122
+ /**
1123
+ * @generated from enum value: SERVICE_STATUS_UNSPECIFIED = 0;
1124
+ */
1125
+ ServiceStatus[ServiceStatus["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1126
+ /**
1127
+ * @generated from enum value: SERVICE_STATUS_HEALTHY = 1;
1128
+ */
1129
+ ServiceStatus[ServiceStatus["HEALTHY"] = 1] = "HEALTHY";
1130
+ /**
1131
+ * @generated from enum value: SERVICE_STATUS_DEGRADED = 2;
1132
+ */
1133
+ ServiceStatus[ServiceStatus["DEGRADED"] = 2] = "DEGRADED";
1134
+ /**
1135
+ * @generated from enum value: SERVICE_STATUS_UNHEALTHY = 3;
1136
+ */
1137
+ ServiceStatus[ServiceStatus["UNHEALTHY"] = 3] = "UNHEALTHY";
1138
+ })(ServiceStatus || (ServiceStatus = {}));
1139
+ /**
1140
+ * Describes the enum openshell.v1.ServiceStatus.
1141
+ */
1142
+ export const ServiceStatusSchema = /*@__PURE__*/ enumDesc(file_openshell, 4);
1143
+ /**
1144
+ * Workspace-scoped role for members.
1145
+ *
1146
+ * @generated from enum openshell.v1.WorkspaceRole
1147
+ */
1148
+ export var WorkspaceRole;
1149
+ (function (WorkspaceRole) {
1150
+ /**
1151
+ * @generated from enum value: WORKSPACE_ROLE_UNSPECIFIED = 0;
1152
+ */
1153
+ WorkspaceRole[WorkspaceRole["UNSPECIFIED"] = 0] = "UNSPECIFIED";
1154
+ /**
1155
+ * @generated from enum value: WORKSPACE_ROLE_USER = 1;
1156
+ */
1157
+ WorkspaceRole[WorkspaceRole["USER"] = 1] = "USER";
1158
+ /**
1159
+ * @generated from enum value: WORKSPACE_ROLE_ADMIN = 2;
1160
+ */
1161
+ WorkspaceRole[WorkspaceRole["ADMIN"] = 2] = "ADMIN";
1162
+ })(WorkspaceRole || (WorkspaceRole = {}));
1163
+ /**
1164
+ * Describes the enum openshell.v1.WorkspaceRole.
1165
+ */
1166
+ export const WorkspaceRoleSchema = /*@__PURE__*/ enumDesc(file_openshell, 5);
1167
+ /**
1168
+ * OpenShell service provides sandbox, provider, and runtime management capabilities.
1169
+ *
1170
+ * Conventions:
1171
+ * - This file owns the public API resource model exposed to OpenShell clients.
1172
+ * - `Sandbox`, `SandboxSpec`, `SandboxStatus`, and `SandboxPhase` are gateway-owned
1173
+ * public types. Internal compute drivers must not import or return them directly.
1174
+ * - The gateway translates internal compute-driver observations into these public
1175
+ * resource messages before persisting or returning them to clients.
1176
+ *
1177
+ * @generated from service openshell.v1.OpenShell
1178
+ */
1179
+ export const OpenShell = /*@__PURE__*/ serviceDesc(file_openshell, 0);
1180
+ //# sourceMappingURL=openshell_pb.js.map