@opsee/mcp-server 0.1.0

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 (136) hide show
  1. package/bin/opsee-mcp.js +21 -0
  2. package/gen/api/v1/account_pb.d.ts +393 -0
  3. package/gen/api/v1/account_pb.js +111 -0
  4. package/gen/api/v1/activity_log_pb.d.ts +297 -0
  5. package/gen/api/v1/activity_log_pb.js +89 -0
  6. package/gen/api/v1/ai_run_status_pb.d.ts +237 -0
  7. package/gen/api/v1/ai_run_status_pb.js +89 -0
  8. package/gen/api/v1/ai_unit_category_pb.d.ts +237 -0
  9. package/gen/api/v1/ai_unit_category_pb.js +89 -0
  10. package/gen/api/v1/ai_unit_stage_pb.d.ts +347 -0
  11. package/gen/api/v1/ai_unit_stage_pb.js +117 -0
  12. package/gen/api/v1/ai_unit_status_pb.d.ts +237 -0
  13. package/gen/api/v1/ai_unit_status_pb.js +89 -0
  14. package/gen/api/v1/ai_workflow_run_pb.d.ts +542 -0
  15. package/gen/api/v1/ai_workflow_run_pb.js +159 -0
  16. package/gen/api/v1/ai_workflow_unit_pb.d.ts +431 -0
  17. package/gen/api/v1/ai_workflow_unit_pb.js +103 -0
  18. package/gen/api/v1/attachment_pb.d.ts +297 -0
  19. package/gen/api/v1/attachment_pb.js +89 -0
  20. package/gen/api/v1/billing_pb.d.ts +1206 -0
  21. package/gen/api/v1/billing_pb.js +288 -0
  22. package/gen/api/v1/board_column_pb.d.ts +282 -0
  23. package/gen/api/v1/board_column_pb.js +89 -0
  24. package/gen/api/v1/board_pb.d.ts +296 -0
  25. package/gen/api/v1/board_pb.js +96 -0
  26. package/gen/api/v1/comment_pb.d.ts +277 -0
  27. package/gen/api/v1/comment_pb.js +89 -0
  28. package/gen/api/v1/company_pb.d.ts +452 -0
  29. package/gen/api/v1/company_pb.js +110 -0
  30. package/gen/api/v1/component_pb.d.ts +267 -0
  31. package/gen/api/v1/component_pb.js +89 -0
  32. package/gen/api/v1/contact_pb.d.ts +58 -0
  33. package/gen/api/v1/contact_pb.js +28 -0
  34. package/gen/api/v1/country_pb.d.ts +257 -0
  35. package/gen/api/v1/country_pb.js +89 -0
  36. package/gen/api/v1/credit_transaction_pb.d.ts +277 -0
  37. package/gen/api/v1/credit_transaction_pb.js +89 -0
  38. package/gen/api/v1/cycle_pb.d.ts +281 -0
  39. package/gen/api/v1/cycle_pb.js +87 -0
  40. package/gen/api/v1/deployment_pb.d.ts +277 -0
  41. package/gen/api/v1/deployment_pb.js +89 -0
  42. package/gen/api/v1/doc_page_pb.d.ts +505 -0
  43. package/gen/api/v1/doc_page_pb.js +138 -0
  44. package/gen/api/v1/doc_page_version_pb.d.ts +287 -0
  45. package/gen/api/v1/doc_page_version_pb.js +89 -0
  46. package/gen/api/v1/doc_space_pb.d.ts +297 -0
  47. package/gen/api/v1/doc_space_pb.js +89 -0
  48. package/gen/api/v1/document_link_pb.d.ts +174 -0
  49. package/gen/api/v1/document_link_pb.js +61 -0
  50. package/gen/api/v1/document_pb.d.ts +548 -0
  51. package/gen/api/v1/document_pb.js +152 -0
  52. package/gen/api/v1/environment_pb.d.ts +277 -0
  53. package/gen/api/v1/environment_pb.js +89 -0
  54. package/gen/api/v1/filter_pb.d.ts +66 -0
  55. package/gen/api/v1/filter_pb.js +26 -0
  56. package/gen/api/v1/label_pb.d.ts +267 -0
  57. package/gen/api/v1/label_pb.js +89 -0
  58. package/gen/api/v1/models_pb.d.ts +3137 -0
  59. package/gen/api/v1/models_pb.js +357 -0
  60. package/gen/api/v1/notification_pb.d.ts +317 -0
  61. package/gen/api/v1/notification_pb.js +89 -0
  62. package/gen/api/v1/orchestrator_pb.d.ts +1813 -0
  63. package/gen/api/v1/orchestrator_pb.js +353 -0
  64. package/gen/api/v1/pagination_pb.d.ts +92 -0
  65. package/gen/api/v1/pagination_pb.js +33 -0
  66. package/gen/api/v1/permission_pb.d.ts +222 -0
  67. package/gen/api/v1/permission_pb.js +89 -0
  68. package/gen/api/v1/preference_pb.d.ts +109 -0
  69. package/gen/api/v1/preference_pb.js +42 -0
  70. package/gen/api/v1/project_membership_pb.d.ts +321 -0
  71. package/gen/api/v1/project_membership_pb.js +103 -0
  72. package/gen/api/v1/project_pb.d.ts +473 -0
  73. package/gen/api/v1/project_pb.js +145 -0
  74. package/gen/api/v1/reporting_pb.d.ts +1481 -0
  75. package/gen/api/v1/reporting_pb.js +373 -0
  76. package/gen/api/v1/role_pb.d.ts +252 -0
  77. package/gen/api/v1/role_pb.js +101 -0
  78. package/gen/api/v1/subscription_pb.d.ts +307 -0
  79. package/gen/api/v1/subscription_pb.js +89 -0
  80. package/gen/api/v1/swagger_pb.d.ts +11 -0
  81. package/gen/api/v1/swagger_pb.js +13 -0
  82. package/gen/api/v1/task_component_pb.d.ts +242 -0
  83. package/gen/api/v1/task_component_pb.js +89 -0
  84. package/gen/api/v1/task_contributor_pb.d.ts +252 -0
  85. package/gen/api/v1/task_contributor_pb.js +89 -0
  86. package/gen/api/v1/task_doc_page_pb.d.ts +186 -0
  87. package/gen/api/v1/task_doc_page_pb.js +73 -0
  88. package/gen/api/v1/task_document_pb.d.ts +186 -0
  89. package/gen/api/v1/task_document_pb.js +73 -0
  90. package/gen/api/v1/task_label_pb.d.ts +242 -0
  91. package/gen/api/v1/task_label_pb.js +89 -0
  92. package/gen/api/v1/task_pb.d.ts +780 -0
  93. package/gen/api/v1/task_pb.js +173 -0
  94. package/gen/api/v1/task_priority_pb.d.ts +267 -0
  95. package/gen/api/v1/task_priority_pb.js +89 -0
  96. package/gen/api/v1/task_repository_pb.d.ts +242 -0
  97. package/gen/api/v1/task_repository_pb.js +89 -0
  98. package/gen/api/v1/task_type_pb.d.ts +277 -0
  99. package/gen/api/v1/task_type_pb.js +89 -0
  100. package/gen/api/v1/test_run_pb.d.ts +277 -0
  101. package/gen/api/v1/test_run_pb.js +89 -0
  102. package/gen/api/v1/user_pb.d.ts +366 -0
  103. package/gen/api/v1/user_pb.js +117 -0
  104. package/gen/api/v1/vcs_connection_pb.d.ts +964 -0
  105. package/gen/api/v1/vcs_connection_pb.js +228 -0
  106. package/gen/api/v1/vcs_integration_pb.d.ts +479 -0
  107. package/gen/api/v1/vcs_integration_pb.js +125 -0
  108. package/gen/api/v1/vcs_pb.d.ts +36 -0
  109. package/gen/api/v1/vcs_pb.js +24 -0
  110. package/gen/api/v1/view_pb.d.ts +337 -0
  111. package/gen/api/v1/view_pb.js +102 -0
  112. package/gen/google/api/annotations_pb.d.ts +34 -0
  113. package/gen/google/api/annotations_pb.js +36 -0
  114. package/gen/google/api/http_pb.d.ts +477 -0
  115. package/gen/google/api/http_pb.js +47 -0
  116. package/gen/protoc-gen-openapiv2/options/annotations_pb.d.ts +63 -0
  117. package/gen/protoc-gen-openapiv2/options/annotations_pb.js +69 -0
  118. package/gen/protoc-gen-openapiv2/options/openapiv2_pb.d.ts +1497 -0
  119. package/gen/protoc-gen-openapiv2/options/openapiv2_pb.js +232 -0
  120. package/gen/validate/validate_pb.d.ts +1953 -0
  121. package/gen/validate/validate_pb.js +223 -0
  122. package/package.json +37 -0
  123. package/src/auth/credentials.ts +65 -0
  124. package/src/auth/login.ts +96 -0
  125. package/src/auth/manager.ts +49 -0
  126. package/src/client/api.ts +91 -0
  127. package/src/index.ts +13 -0
  128. package/src/server.ts +26 -0
  129. package/src/tools/cycles.ts +77 -0
  130. package/src/tools/docs.ts +148 -0
  131. package/src/tools/projects.ts +40 -0
  132. package/src/tools/repositories.ts +41 -0
  133. package/src/tools/task-metadata.ts +96 -0
  134. package/src/tools/tasks.ts +228 -0
  135. package/src/tools/user.ts +33 -0
  136. package/src/utils/format.ts +141 -0
@@ -0,0 +1,357 @@
1
+ // @generated by protoc-gen-es v2.2.3
2
+ // @generated from file api/v1/models.proto (package api.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
6
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
+ import { file_api_v1_vcs } from "./vcs_pb";
8
+
9
+ /**
10
+ * Describes the file api/v1/models.proto.
11
+ */
12
+ export const file_api_v1_models = /*@__PURE__*/
13
+ fileDesc("ChNhcGkvdjEvbW9kZWxzLnByb3RvEgZhcGkudjEiJgoKUGVybWlzc2lvbhIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJImgKBFJvbGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIdCgdwYXJlbnRzGAMgAygLMgwuYXBpLnYxLlJvbGUSJwoLcGVybWlzc2lvbnMYBCADKAsyEi5hcGkudjEuUGVybWlzc2lvbiLLAgoEVXNlchIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEg0KBWVtYWlsGAIgASgJEhIKCmZpcnN0X25hbWUYAyABKAkSEQoJbGFzdF9uYW1lGAQgASgJEhEKCWZ1bGxfbmFtZRgFIAEoCRIVCg1wcm92aWRlcl9uYW1lGAYgASgJEhsKBXJvbGVzGAcgAygLMgwuYXBpLnYxLlJvbGUSJQoPZmxhdHRlbmVkX3JvbGVzGAggAygLMgwuYXBpLnYxLlJvbGUSEgoKY3JlYXRlZF9hdBgJIAEoCRISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueRINCgVwaG9uZRgMIAEoCRIYChBwaG9uZV9jb3VudHJ5X2lkGA0gASgNEhIKCmF2YXRhcl91cmwYDiABKAki0AQKB0NvbXBhbnkSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIMCgRuYW1lGAIgASgJEgwKBHNsdWcYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIYCgt3ZWJzaXRlX3VybBgFIAEoCUgBiAEBEhUKCGluZHVzdHJ5GAYgASgJSAKIAQESEQoEc2l6ZRgHIAEoCUgDiAEBEhoKDXNldHRpbmdzX2pzb24YCCABKAlIBIgBARIRCglpc19hY3RpdmUYCSABKAgSGgoNYmlsbGluZ19lbWFpbBgKIAEoCUgFiAEBEhQKB2FkZHJlc3MYCyABKAlIBogBARIVCghhZGRyZXNzMhgMIAEoCUgHiAEBEhEKBGNpdHkYDSABKAlICIgBARISCgVzdGF0ZRgOIAEoCUgJiAEBEhUKCHppcF9jb2RlGA8gASgJSAqIAQESFwoKY291bnRyeV9pZBgQIAEoDUgLiAEBEhMKBnRheF9pZBgRIAEoCUgMiAEBEiAKB2NvdW50cnkYEiABKAsyDy5hcGkudjEuQ291bnRyeUIOCgxfZGVzY3JpcHRpb25CDgoMX3dlYnNpdGVfdXJsQgsKCV9pbmR1c3RyeUIHCgVfc2l6ZUIQCg5fc2V0dGluZ3NfanNvbkIQCg5fYmlsbGluZ19lbWFpbEIKCghfYWRkcmVzc0ILCglfYWRkcmVzczJCBwoFX2NpdHlCCAoGX3N0YXRlQgsKCV96aXBfY29kZUINCgtfY291bnRyeV9pZEIJCgdfdGF4X2lkIuQECgxTdWJzY3JpcHRpb24SCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRISCgpjb21wYW55X2lkGAIgASgNEhoKEnN0cmlwZV9jdXN0b21lcl9pZBgDIAEoCRIjChZzdHJpcGVfc3Vic2NyaXB0aW9uX2lkGAQgASgJSACIAQESDgoGc3RhdHVzGAUgASgJEj0KFGN1cnJlbnRfcGVyaW9kX3N0YXJ0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjsKEmN1cnJlbnRfcGVyaW9kX2VuZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIeChFwYXltZW50X21ldGhvZF9pZBgIIAEoDUgDiAEBEicKBWl0ZW1zGAkgAygLMhguYXBpLnYxLlN1YnNjcmlwdGlvbkl0ZW0SLQoOcGF5bWVudF9tZXRob2QYCiABKAsyFS5hcGkudjEuUGF5bWVudE1ldGhvZBIgCgdjb21wYW55GAsgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCGQoXX3N0cmlwZV9zdWJzY3JpcHRpb25faWRCFwoVX2N1cnJlbnRfcGVyaW9kX3N0YXJ0QhUKE19jdXJyZW50X3BlcmlvZF9lbmRCFAoSX3BheW1lbnRfbWV0aG9kX2lkIoACChBTdWJzY3JpcHRpb25JdGVtEgoKAmlkGAEgASgNEhcKD3N1YnNjcmlwdGlvbl9pZBgCIAEoDRIUCgxwcm9kdWN0X3R5cGUYAyABKAkSEAoIcXVhbnRpdHkYBCABKAUSEgoKdW5pdF9wcmljZRgFIAEoAxIYChBiaWxsaW5nX2ludGVydmFsGAYgASgJEhEKCWlzX2FjdGl2ZRgHIAEoCBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLEAgoNUGF5bWVudE1ldGhvZBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEhIKCmNvbXBhbnlfaWQYAiABKA0SGAoQc3RyaXBlX21ldGhvZF9pZBgDIAEoCRIMCgR0eXBlGAQgASgJEg0KBWxhc3Q0GAUgASgJEg0KBWJyYW5kGAYgASgJEhQKDGV4cGlyeV9tb250aBgHIAEoBRITCgtleHBpcnlfeWVhchgIIAEoBRISCgppc19kZWZhdWx0GAkgASgIEiAKB2NvbXBhbnkYCiABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKgAgoNUHJvZHVjdENvbmZpZxIKCgJpZBgBIAEoDRIUCgxwcm9kdWN0X3R5cGUYAiABKAkSFQoNbW9udGhseV9wcmljZRgDIAEoAxIUCgx5ZWFybHlfcHJpY2UYBCABKAMSFQoNZnJlZV9xdWFudGl0eRgFIAEoBRIUCgxpc19yZWN1cnJpbmcYBiABKAgSGQoRc3RyaXBlX21vbnRobHlfaWQYByABKAkSGAoQc3RyaXBlX3llYXJseV9pZBgIIAEoCRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLMAgoOQ29tcGFueUNyZWRpdHMSCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIVCg10b3RhbF9jcmVkaXRzGAMgASgFEhQKDHVzZWRfY3JlZGl0cxgEIAEoBRIZChFhdmFpbGFibGVfY3JlZGl0cxgFIAEoBRI6ChFsYXN0X2FsbG9jYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIgCgdjb21wYW55GAcgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCFAoSX2xhc3RfYWxsb2NhdGVkX2F0IqMCChFDcmVkaXRUcmFuc2FjdGlvbhIKCgJpZBgBIAEoDRISCgpjb21wYW55X2lkGAIgASgNEg4KBmFtb3VudBgDIAEoBRIOCgZyZWFzb24YBCABKAkSGAoLZW50aXR5X3R5cGUYBSABKAlIAIgBARIWCgllbnRpdHlfaWQYBiABKAlIAYgBARIaCg1tZXRhZGF0YV9qc29uGAcgASgJSAKIAQESIAoHY29tcGFueRgIIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9lbnRpdHlfdHlwZUIMCgpfZW50aXR5X2lkQhAKDl9tZXRhZGF0YV9qc29uIvQBCgdQcm9qZWN0EgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESEQoJaXNfYWN0aXZlGAUgASgIEhoKDXNldHRpbmdzX2pzb24YBiABKAlIAYgBARISCgpjb21wYW55X2lkGAcgASgNEiAKB2NvbXBhbnkYCCABKAsyDy5hcGkudjEuQ29tcGFueRISCgpzaG9ydF9uYW1lGAkgASgJQg4KDF9kZXNjcmlwdGlvbkIQCg5fc2V0dGluZ3NfanNvbiKlAQoRUHJvamVjdE1lbWJlcnNoaXASCgoCaWQYASABKA0SDAoEcm9sZRgCIAEoCRITCgtpc19mYXZvcml0ZRgDIAEoCBISCgpwcm9qZWN0X2lkGAQgASgNEiAKB3Byb2plY3QYBSABKAsyDy5hcGkudjEuUHJvamVjdBIPCgd1c2VyX2lkGAYgASgNEhoKBHVzZXIYByABKAsyDC5hcGkudjEuVXNlciLCAgoIRG9jU3BhY2USCgoCaWQYASABKA0SDQoFdGl0bGUYAiABKAkSDAoEc2x1ZxgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhIKCmlzX2RlZmF1bHQYBSABKAgSEwoLaXNfYXJjaGl2ZWQYBiABKAgSEgoKcHJvamVjdF9pZBgHIAEoDRIgCgdwcm9qZWN0GAggASgLMg8uYXBpLnYxLlByb2plY3QSGgoSY3JlYXRlZF9ieV91c2VyX2lkGAkgASgNEiUKD2NyZWF0ZWRfYnlfdXNlchgKIAEoCzIMLmFwaS52MS5Vc2VyEhoKEnVwZGF0ZWRfYnlfdXNlcl9pZBgLIAEoDRIlCg91cGRhdGVkX2J5X3VzZXIYDCABKAsyDC5hcGkudjEuVXNlckIOCgxfZGVzY3JpcHRpb24i+wMKB0RvY1BhZ2USCgoCaWQYASABKA0SDQoFdGl0bGUYAiABKAkSDAoEc2x1ZxgDIAEoCRIXCg9jdXJyZW50X2NvbnRlbnQYBCABKAkSFAoMY29udGVudF90eXBlGAUgASgJEh4KFmN1cnJlbnRfdmVyc2lvbl9udW1iZXIYBiABKAUSDwoHaXNfcm9vdBgHIAEoCBITCgtpc19hcmNoaXZlZBgIIAEoCBIVCg1kaXNwbGF5X29yZGVyGAkgASgFEhQKDGRvY19zcGFjZV9pZBgKIAEoDRIjCglkb2Nfc3BhY2UYCyABKAsyEC5hcGkudjEuRG9jU3BhY2USGwoOcGFyZW50X3BhZ2VfaWQYDCABKA1IAIgBARIkCgtwYXJlbnRfcGFnZRgNIAEoCzIPLmFwaS52MS5Eb2NQYWdlEiQKC2NoaWxkX3BhZ2VzGA4gAygLMg8uYXBpLnYxLkRvY1BhZ2USGgoSY3JlYXRlZF9ieV91c2VyX2lkGA8gASgNEiUKD2NyZWF0ZWRfYnlfdXNlchgQIAEoCzIMLmFwaS52MS5Vc2VyEhoKEnVwZGF0ZWRfYnlfdXNlcl9pZBgRIAEoDRIlCg91cGRhdGVkX2J5X3VzZXIYEiABKAsyDC5hcGkudjEuVXNlckIRCg9fcGFyZW50X3BhZ2VfaWQilQIKDkRvY1BhZ2VWZXJzaW9uEgoKAmlkGAEgASgNEhYKDnZlcnNpb25fbnVtYmVyGAIgASgFEg0KBXRpdGxlGAMgASgJEg8KB2NvbnRlbnQYBCABKAkSFAoMY29udGVudF90eXBlGAUgASgJEhsKDmNoYW5nZV9zdW1tYXJ5GAYgASgJSACIAQESEwoLZG9jX3BhZ2VfaWQYByABKA0SIQoIZG9jX3BhZ2UYCCABKAsyDy5hcGkudjEuRG9jUGFnZRIaChJjcmVhdGVkX2J5X3VzZXJfaWQYCSABKA0SJQoPY3JlYXRlZF9ieV91c2VyGAogASgLMgwuYXBpLnYxLlVzZXJCEQoPX2NoYW5nZV9zdW1tYXJ5IpAICg5WQ1NJbnRlZ3JhdGlvbhIKCgJpZBgBIAEoDRISCgpyZXBvX293bmVyGAIgASgJEhEKCXJlcG9fbmFtZRgDIAEoCRIXCg90b2tlbl9lbmNyeXB0ZWQYBCABKAkSFgoOZGVmYXVsdF9icmFuY2gYBSABKAkSGwoOd2ViaG9va19zZWNyZXQYBiABKAlIAIgBARIdChBwZXJtaXNzaW9uc19qc29uGAcgASgJSAGIAQESEQoJaXNfYWN0aXZlGAggASgIEhIKCnByb2plY3RfaWQYCSABKA0SIAoHcHJvamVjdBgKIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhwKD2luc3RhbGxhdGlvbl9pZBgLIAEoA0gCiAEBEhMKBmFwcF9pZBgMIAEoCUgDiAEBEikKHGluc3RhbGxhdGlvbl90b2tlbl9lbmNyeXB0ZWQYDSABKAlIBIgBARJGCh1pbnN0YWxsYXRpb25fdG9rZW5fZXhwaXJlc19hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIYCgtvYXV0aF9zdGF0ZRgPIAEoCUgGiAEBEhgKEGF1dG9fc3luY19pc3N1ZXMYECABKAgSGgoSZW5hYmxlX3ByX3dlYmhvb2tzGBEgASgIEiUKCHByb3ZpZGVyGB4gASgOMhMuYXBpLnYxLlZDU1Byb3ZpZGVyEhkKDGluc3RhbmNlX3VybBgfIAEoCUgHiAEBEiMKFmFjY2Vzc190b2tlbl9lbmNyeXB0ZWQYICABKAlICIgBARIkChdyZWZyZXNoX3Rva2VuX2VuY3J5cHRlZBghIAEoCUgJiAEBEjkKEHRva2VuX2V4cGlyZXNfYXQYIiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAqIAQESHAoPZ2l0bGFiX2dyb3VwX2lkGCMgASgDSAuIAQESGwoOZ2l0bGFiX3VzZXJfaWQYJCABKANIDIgBAUIRCg9fd2ViaG9va19zZWNyZXRCEwoRX3Blcm1pc3Npb25zX2pzb25CEgoQX2luc3RhbGxhdGlvbl9pZEIJCgdfYXBwX2lkQh8KHV9pbnN0YWxsYXRpb25fdG9rZW5fZW5jcnlwdGVkQiAKHl9pbnN0YWxsYXRpb25fdG9rZW5fZXhwaXJlc19hdEIOCgxfb2F1dGhfc3RhdGVCDwoNX2luc3RhbmNlX3VybEIZChdfYWNjZXNzX3Rva2VuX2VuY3J5cHRlZEIaChhfcmVmcmVzaF90b2tlbl9lbmNyeXB0ZWRCEwoRX3Rva2VuX2V4cGlyZXNfYXRCEgoQX2dpdGxhYl9ncm91cF9pZEIRCg9fZ2l0bGFiX3VzZXJfaWQi0AQKEVByb2plY3RSZXBvc2l0b3J5EgoKAmlkGAEgASgNEhIKCnByb2plY3RfaWQYAiABKA0SIAoHcHJvamVjdBgDIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhoKEnZjc19pbnRlZ3JhdGlvbl9pZBgEIAEoDRIvCg92Y3NfaW50ZWdyYXRpb24YBSABKAsyFi5hcGkudjEuVkNTSW50ZWdyYXRpb24SFQoNcmVwb3NpdG9yeV9pZBgGIAEoAxIYChByZXBvc2l0b3J5X293bmVyGAcgASgJEhcKD3JlcG9zaXRvcnlfbmFtZRgIIAEoCRIcChRyZXBvc2l0b3J5X2Z1bGxfbmFtZRgJIAEoCRIWCg5kZWZhdWx0X2JyYW5jaBgKIAEoCRISCgppc19wcml2YXRlGAsgASgIEhgKC2Rlc2NyaXB0aW9uGAwgASgJSACIAQESCwoDdXJsGA0gASgJEhEKCWlzX2FjdGl2ZRgOIAEoCBIuCgpjcmVhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIYChBhdXRvX3N5bmNfaXNzdWVzGBEgASgIEhoKEmVuYWJsZV9wcl93ZWJob29rcxgSIAEoCBIlCghwcm92aWRlchgTIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlchIRCgljbG9uZV91cmwYFCABKAlCDgoMX2Rlc2NyaXB0aW9uIrkBCgVCb2FyZBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIVCg1kaXNwbGF5X29yZGVyGAQgASgFEhEKCWlzX2FjdGl2ZRgFIAEoCBISCgpwcm9qZWN0X2lkGAYgASgNEiAKB3Byb2plY3QYByABKAsyDy5hcGkudjEuUHJvamVjdEIOCgxfZGVzY3JpcHRpb24igAIKBUN5Y2xlEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSDAoEZ29hbBgDIAEoCRIuCgpzdGFydF9kYXRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfZGF0ZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAggASgIEhgKC2Rlc2NyaXB0aW9uGAkgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIt8BCgtCb2FyZENvbHVtbhIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV9vcmRlchgDIAEoBRISCgVjb2xvchgEIAEoCUgAiAEBEhwKD2xpZmVjeWNsZV9zdGF0ZRgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIQCghib2FyZF9pZBgHIAEoDRIcCgVib2FyZBgIIAEoCzINLmFwaS52MS5Cb2FyZEIICgZfY29sb3JCEgoQX2xpZmVjeWNsZV9zdGF0ZSK+AQoIVGFza1R5cGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRISCgVjb2xvchgDIAEoCUgAiAEBEhEKBGljb24YBCABKAlIAYgBARISCgpwcm9qZWN0X2lkGAUgASgNEiAKB3Byb2plY3QYBiABKAsyDy5hcGkudjEuUHJvamVjdBIVCg1kaXNwbGF5X29yZGVyGAcgASgFEhEKCWlzX2FjdGl2ZRgIIAEoCEIICgZfY29sb3JCBwoFX2ljb24ingEKDFRhc2tQcmlvcml0eRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEg0KBWxldmVsGAMgASgFEhIKBWNvbG9yGAQgASgJSACIAQESEgoKcHJvamVjdF9pZBgFIAEoDRIgCgdwcm9qZWN0GAYgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAcgASgIQggKBl9jb2xvciKjAQoFTGFiZWwSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRINCgVjb2xvchgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgNEiAKB3Byb2plY3QYBSABKAsyDy5hcGkudjEuUHJvamVjdBIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgHIAEoCEIOCgxfZGVzY3JpcHRpb24i5QEKCUNvbXBvbmVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSGQoMbGVhZF91c2VyX2lkGAYgASgNSAGIAQESHwoJbGVhZF91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISEQoJaXNfYWN0aXZlGAggASgIQg4KDF9kZXNjcmlwdGlvbkIPCg1fbGVhZF91c2VyX2lkIssLCgRUYXNrEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKaWRlbnRpZmllchgCIAEoCRINCgV0aXRsZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBSABKAUSGQoMc3RvcnlfcG9pbnRzGAYgASgFSAGIAQESHAoPZXN0aW1hdGVkX2hvdXJzGAcgASgBSAKIAQESGQoMYWN0dWFsX2hvdXJzGAggASgBSAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SHAoFYm9hcmQYDSABKAsyDS5hcGkudjEuQm9hcmQSFwoPYm9hcmRfY29sdW1uX2lkGA4gASgNEikKDGJvYXJkX2NvbHVtbhgPIAEoCzITLmFwaS52MS5Cb2FyZENvbHVtbhISCgpwcm9qZWN0X2lkGBAgASgNEiAKB3Byb2plY3QYESABKAsyDy5hcGkudjEuUHJvamVjdBIUCgx0YXNrX3R5cGVfaWQYEiABKA0SIwoJdGFza190eXBlGBMgASgLMhAuYXBpLnYxLlRhc2tUeXBlEhgKEHRhc2tfcHJpb3JpdHlfaWQYFCABKA0SKwoNdGFza19wcmlvcml0eRgVIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkSGAoQcmVwb3J0ZXJfdXNlcl9pZBgWIAEoDRIjCg1yZXBvcnRlcl91c2VyGBcgASgLMgwuYXBpLnYxLlVzZXISHQoQYXNzaWduZWRfdXNlcl9pZBgYIAEoDUgFiAEBEiMKDWFzc2lnbmVkX3VzZXIYGSABKAsyDC5hcGkudjEuVXNlchIbCg5wYXJlbnRfdGFza19pZBgaIAEoDUgGiAEBEiEKC3BhcmVudF90YXNrGBsgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgcIAEoDRIgCgdjb21wYW55GB0gASgLMg8uYXBpLnYxLkNvbXBhbnkSJgoLdGFza19sYWJlbHMYHiADKAsyES5hcGkudjEuVGFza0xhYmVsEi4KD3Rhc2tfY29tcG9uZW50cxgfIAMoCzIVLmFwaS52MS5UYXNrQ29tcG9uZW50EjIKEXRhc2tfY29udHJpYnV0b3JzGCAgAygLMhcuYXBpLnYxLlRhc2tDb250cmlidXRvchIxChF0YXNrX3JlcG9zaXRvcmllcxghIAMoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeRIzChJ0YXNrX3B1bGxfcmVxdWVzdHMYIiADKAsyFy5hcGkudjEuVGFza1B1bGxSZXF1ZXN0EhUKCGN5Y2xlX2lkGCMgASgNSAeIAQESHAoFY3ljbGUYJCABKAsyDS5hcGkudjEuQ3ljbGUSIgoJd29ya19sb2dzGCUgAygLMg8uYXBpLnYxLldvcmtMb2cSNAoLcmVzb2x2ZWRfYXQYJiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESKwoOdGFza19kb2NfcGFnZXMYJyADKAsyEy5hcGkudjEuVGFza0RvY1BhZ2USLAoOdGFza19kb2N1bWVudHMYKCADKAsyFC5hcGkudjEuVGFza0RvY3VtZW50Qg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQg4KDF9yZXNvbHZlZF9hdCJ0CglUYXNrTGFiZWwSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSEAoIbGFiZWxfaWQYBCABKA0SHAoFbGFiZWwYBSABKAsyDS5hcGkudjEuTGFiZWwihQEKD1Rhc2tDb250cmlidXRvchIKCgJpZBgBIAEoDRIMCgRyb2xlGAIgASgJEg8KB3Rhc2tfaWQYAyABKA0SGgoEdGFzaxgEIAEoCzIMLmFwaS52MS5UYXNrEg8KB3VzZXJfaWQYBSABKA0SGgoEdXNlchgGIAEoCzIMLmFwaS52MS5Vc2VyIoQBCg1UYXNrQ29tcG9uZW50EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoEdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEhQKDGNvbXBvbmVudF9pZBgEIAEoDRIkCgljb21wb25lbnQYBSABKAsyES5hcGkudjEuQ29tcG9uZW50ItABCg5UYXNrUmVwb3NpdG9yeRIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKEnZjc19pbnRlZ3JhdGlvbl9pZBgEIAEoDRIvCg92Y3NfaW50ZWdyYXRpb24YBSABKAsyFi5hcGkudjEuVkNTSW50ZWdyYXRpb24SHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAYgASgNEjUKEnByb2plY3RfcmVwb3NpdG9yeRgHIAEoCzIZLmFwaS52MS5Qcm9qZWN0UmVwb3NpdG9yeSJ2CgtUYXNrRG9jUGFnZRIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhMKC2RvY19wYWdlX2lkGAMgASgNEiEKCGRvY19wYWdlGAQgASgLMg8uYXBpLnYxLkRvY1BhZ2USEgoKY29tcGFueV9pZBgFIAEoDSJ4CgxUYXNrRG9jdW1lbnQSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRITCgtkb2N1bWVudF9pZBgDIAEoDRIiCghkb2N1bWVudBgEIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpjb21wYW55X2lkGAUgASgNIukBCg9UYXNrUHVsbFJlcXVlc3QSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAyABKA0SNQoScHJvamVjdF9yZXBvc2l0b3J5GAQgASgLMhkuYXBpLnYxLlByb2plY3RSZXBvc2l0b3J5EhEKCXByX251bWJlchgFIAEoBRINCgV0aXRsZRgGIAEoCRILCgN1cmwYByABKAkSDQoFc3RhdGUYCCABKAkSJQoIcHJvdmlkZXIYCSABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXIiqQIKB0NvbW1lbnQSCgoCaWQYASABKA0SDwoHY29udGVudBgCIAEoCRITCgtpc19pbnRlcm5hbBgDIAEoCBIUCgd0YXNrX2lkGAQgASgNSACIAQESGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhgKC2RvY19wYWdlX2lkGAYgASgNSAGIAQESIQoIZG9jX3BhZ2UYByABKAsyDy5hcGkudjEuRG9jUGFnZRIPCgd1c2VyX2lkGAggASgNEhoKBHVzZXIYCSABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueUIKCghfdGFza19pZEIOCgxfZG9jX3BhZ2VfaWQi/AIKCkF0dGFjaG1lbnQSCgoCaWQYASABKA0SEAoIZmlsZW5hbWUYAiABKAkSEQoJZmlsZV9zaXplGAMgASgDEhEKCW1pbWVfdHlwZRgEIAEoCRIUCgxzdG9yYWdlX3BhdGgYBSABKAkSFwoKcHVibGljX3VybBgGIAEoCUgAiAEBEhQKB3Rhc2tfaWQYByABKA1IAYgBARIaCgR0YXNrGAggASgLMgwuYXBpLnYxLlRhc2sSGAoLZG9jX3BhZ2VfaWQYCSABKA1IAogBARIhCghkb2NfcGFnZRgKIAEoCzIPLmFwaS52MS5Eb2NQYWdlEg8KB3VzZXJfaWQYCyABKA0SGgoEdXNlchgMIAEoCzIMLmFwaS52MS5Vc2VyEhIKCmNvbXBhbnlfaWQYDSABKA0SIAoHY29tcGFueRgOIAEoCzIPLmFwaS52MS5Db21wYW55Qg0KC19wdWJsaWNfdXJsQgoKCF90YXNrX2lkQg4KDF9kb2NfcGFnZV9pZCJRCgtBSVJ1blN0YXR1cxIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uImgKC0FJVW5pdFN0YWdlEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIVCg1kaXNwbGF5X29yZGVyGAQgASgFQg4KDF9kZXNjcmlwdGlvbiJSCgxBSVVuaXRTdGF0dXMSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiJUCg5BSVVuaXRDYXRlZ29yeRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIvwECg1BSVdvcmtmbG93UnVuEgoKAmlkGAEgASgNEh0KFWFpX2NyZWRpdHNfdXNlZF90b3RhbBgCIAEoBRIaCg1tZXRhZGF0YV9qc29uGAMgASgJSACIAQESDwoHdGFza19pZBgEIAEoDRIaCgR0YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSHAoUdHJpZ2dlcmVkX2J5X3VzZXJfaWQYBiABKA0SJwoRdHJpZ2dlcmVkX2J5X3VzZXIYByABKAsyDC5hcGkudjEuVXNlchIYChBhaV9ydW5fc3RhdHVzX2lkGAggASgNEioKDWFpX3J1bl9zdGF0dXMYCSABKAsyEy5hcGkudjEuQUlSdW5TdGF0dXMSHQoQY3VycmVudF9zdGFnZV9pZBgKIAEoDUgBiAEBEioKDWN1cnJlbnRfc3RhZ2UYCyABKAsyEy5hcGkudjEuQUlVbml0U3RhZ2USLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDAoEbmFtZRgOIAEoCRIzCgpzdGFydGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEjUKDGNvbXBsZXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIA4gBAUIQCg5fbWV0YWRhdGFfanNvbkITChFfY3VycmVudF9zdGFnZV9pZEINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0IpsHCg5BSVdvcmtmbG93VW5pdBIKCgJpZBgBIAEoDRIWCg5zZXF1ZW5jZV9vcmRlchgCIAEoBRIYChB3b3JrX2Rlc2NyaXB0aW9uGAMgASgJEhcKCnZjc19icmFuY2gYBCABKAlIAIgBARIXCgp2Y3NfcHJfdXJsGAUgASgJSAGIAQESGwoOZGVwbG95bWVudF91cmwYBiABKAlIAogBARIeChF0ZXN0X3Jlc3VsdHNfanNvbhgHIAEoCUgDiAEBEhYKCWVycm9yX2xvZxgIIAEoCUgEiAEBEhcKD2FpX2NyZWRpdHNfdXNlZBgJIAEoBRIaCg1tZXRhZGF0YV9qc29uGAogASgJSAWIAQESGgoSYWlfd29ya2Zsb3dfcnVuX2lkGAsgASgNEi4KD2FpX3dvcmtmbG93X3J1bhgMIAEoCzIVLmFwaS52MS5BSVdvcmtmbG93UnVuEg8KB3Rhc2tfaWQYDSABKA0SGgoEdGFzaxgOIAEoCzIMLmFwaS52MS5UYXNrEhoKEnZjc19pbnRlZ3JhdGlvbl9pZBgPIAEoDRIvCg92Y3NfaW50ZWdyYXRpb24YECABKAsyFi5hcGkudjEuVkNTSW50ZWdyYXRpb24SIAoTYWlfdW5pdF9jYXRlZ29yeV9pZBgRIAEoDUgGiAEBEjAKEGFpX3VuaXRfY2F0ZWdvcnkYEiABKAsyFi5hcGkudjEuQUlVbml0Q2F0ZWdvcnkSGAoQYWlfdW5pdF9zdGFnZV9pZBgTIAEoDRIqCg1haV91bml0X3N0YWdlGBQgASgLMhMuYXBpLnYxLkFJVW5pdFN0YWdlEhkKEWFpX3VuaXRfc3RhdHVzX2lkGBUgASgNEiwKDmFpX3VuaXRfc3RhdHVzGBYgASgLMhQuYXBpLnYxLkFJVW5pdFN0YXR1cxIfChJkZXBlbmRzX29uX3VuaXRfaWQYFyABKA1IB4gBARIvCg9kZXBlbmRzX29uX3VuaXQYGCABKAsyFi5hcGkudjEuQUlXb3JrZmxvd1VuaXRCDQoLX3Zjc19icmFuY2hCDQoLX3Zjc19wcl91cmxCEQoPX2RlcGxveW1lbnRfdXJsQhQKEl90ZXN0X3Jlc3VsdHNfanNvbkIMCgpfZXJyb3JfbG9nQhAKDl9tZXRhZGF0YV9qc29uQhYKFF9haV91bml0X2NhdGVnb3J5X2lkQhUKE19kZXBlbmRzX29uX3VuaXRfaWQi/wEKC0Vudmlyb25tZW50EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSEQoEdHlwZRgDIAEoCUgAiAEBEhoKDWs4c19uYW1lc3BhY2UYBCABKAlIAYgBARIYCgtiYXNlX2RvbWFpbhgFIAEoCUgCiAEBEhoKDW1ldGFkYXRhX2pzb24YBiABKAlIA4gBARISCgpwcm9qZWN0X2lkGAcgASgNEiAKB3Byb2plY3QYCCABKAsyDy5hcGkudjEuUHJvamVjdEIHCgVfdHlwZUIQCg5fazhzX25hbWVzcGFjZUIOCgxfYmFzZV9kb21haW5CEAoOX21ldGFkYXRhX2pzb24iogIKCkRlcGxveW1lbnQSCgoCaWQYASABKA0SDgoGc3RhdHVzGAIgASgJEhAKA3VybBgDIAEoCUgAiAEBEhUKCGxvZ3NfdXJsGAQgASgJSAGIAQESGgoNbWV0YWRhdGFfanNvbhgFIAEoCUgCiAEBEhYKDmVudmlyb25tZW50X2lkGAYgASgNEigKC2Vudmlyb25tZW50GAcgASgLMhMuYXBpLnYxLkVudmlyb25tZW50EhoKEmFpX3dvcmtmbG93X3J1bl9pZBgIIAEoDRIuCg9haV93b3JrZmxvd19ydW4YCSABKAsyFS5hcGkudjEuQUlXb3JrZmxvd1J1bkIGCgRfdXJsQgsKCV9sb2dzX3VybEIQCg5fbWV0YWRhdGFfanNvbiL8AQoHVGVzdFJ1bhIKCgJpZBgBIAEoDRIMCgR0eXBlGAIgASgJEg4KBnN0YXR1cxgDIAEoCRIWCglmcmFtZXdvcmsYBCABKAlIAIgBARIXCgpyZXBvcnRfdXJsGAUgASgJSAGIAQESGQoMcmVzdWx0c19qc29uGAYgASgJSAKIAQESGwoTYWlfd29ya2Zsb3dfdW5pdF9pZBgHIAEoDRIwChBhaV93b3JrZmxvd191bml0GAggASgLMhYuYXBpLnYxLkFJV29ya2Zsb3dVbml0QgwKCl9mcmFtZXdvcmtCDQoLX3JlcG9ydF91cmxCDwoNX3Jlc3VsdHNfanNvbiLEAgoLQWN0aXZpdHlMb2cSCgoCaWQYASABKA0SDgoGYWN0aW9uGAIgASgJEhMKC2VudGl0eV90eXBlGAMgASgJEhEKCWVudGl0eV9pZBgEIAEoDRITCgtkZXNjcmlwdGlvbhgFIAEoCRIaCg1tZXRhZGF0YV9qc29uGAYgASgJSACIAQESFwoKaXBfYWRkcmVzcxgHIAEoCUgBiAEBEhQKB3VzZXJfaWQYCCABKA1IAogBARIaCgR1c2VyGAkgASgLMgwuYXBpLnYxLlVzZXISFwoKcHJvamVjdF9pZBgKIAEoDUgDiAEBEiAKB3Byb2plY3QYCyABKAsyDy5hcGkudjEuUHJvamVjdEIQCg5fbWV0YWRhdGFfanNvbkINCgtfaXBfYWRkcmVzc0IKCghfdXNlcl9pZEINCgtfcHJvamVjdF9pZCKHAwoMTm90aWZpY2F0aW9uEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEg8KB21lc3NhZ2UYAyABKAkSGQoRbm90aWZpY2F0aW9uX3R5cGUYBCABKAkSGAoLZW50aXR5X3R5cGUYBSABKAlIAIgBARIWCgllbnRpdHlfaWQYBiABKA1IAYgBARIXCgphY3Rpb25fdXJsGAcgASgJSAKIAQESDwoHaXNfcmVhZBgIIAEoCBIWCg5zZW50X3ZpYV9lbWFpbBgJIAEoCBIaCg1tZXRhZGF0YV9qc29uGAogASgJSAOIAQESDwoHdXNlcl9pZBgLIAEoDRIaCgR1c2VyGAwgASgLMgwuYXBpLnYxLlVzZXISEgoKY29tcGFueV9pZBgNIAEoDRIgCgdjb21wYW55GA4gASgLMg8uYXBpLnYxLkNvbXBhbnlCDgoMX2VudGl0eV90eXBlQgwKCl9lbnRpdHlfaWRCDQoLX2FjdGlvbl91cmxCEAoOX21ldGFkYXRhX2pzb24iWwoHQ291bnRyeRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhAKCGlzb19jb2RlGAMgASgJEhEKCWlzb19jb2RlMhgEIAEoCRIRCglkaWFsX2NvZGUYBSABKAki9QQKCERvY3VtZW50EgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEAoIZmlsZW5hbWUYAiABKAkSEQoJbWltZV90eXBlGAMgASgJEgwKBHNpemUYBCABKAMSEwoLc3RvcmFnZV91cmwYBSABKAkSEwoGc2hhMjU2GAYgASgJSACIAQESFgoJZGlza19uYW1lGAcgASgJSAGIAQESEQoEa2luZBgIIAEoCUgCiAEBEhEKCWlzX2ZvbGRlchgJIAEoCBIWCglmdWxsX3BhdGgYCiABKAlIA4gBARIdChBwYXJlbnRfZm9sZGVyX2lkGAsgASgNSASIAQESJwoNcGFyZW50X2ZvbGRlchgMIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpwcm9qZWN0X2lkGA0gASgNEiAKB3Byb2plY3QYDiABKAsyDy5hcGkudjEuUHJvamVjdBISCgpjb21wYW55X2lkGA8gASgNEiAKB2NvbXBhbnkYECABKAsyDy5hcGkudjEuQ29tcGFueRIbChN1cGxvYWRlZF9ieV91c2VyX2lkGBEgASgNEiYKEHVwbG9hZGVkX2J5X3VzZXIYEiABKAsyDC5hcGkudjEuVXNlchIuCgpjcmVhdGVkX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIJCgdfc2hhMjU2QgwKCl9kaXNrX25hbWVCBwoFX2tpbmRCDAoKX2Z1bGxfcGF0aEITChFfcGFyZW50X2ZvbGRlcl9pZCLdAQoMRG9jdW1lbnRMaW5rEgoKAmlkGAEgASgNEhEKCWxpbmtfa2luZBgCIAEoCRIPCgdsaW5rX2lkGAMgASgNEhMKC2RvY3VtZW50X2lkGAQgASgNEiIKCGRvY3VtZW50GAUgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCmNvbXBhbnlfaWQYBiABKA0SIAoHY29tcGFueRgHIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIogCCgdXb3JrTG9nEgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoEdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEg8KB3VzZXJfaWQYBCABKA0SGgoEdXNlchgFIAEoCzIMLmFwaS52MS5Vc2VyEg0KBWhvdXJzGAYgASgBEhgKC2Rlc2NyaXB0aW9uGAcgASgJSACIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2Rlc2NyaXB0aW9uQnAKCmNvbS5hcGkudjFCC01vZGVsc1Byb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_api_v1_vcs]);
14
+
15
+ /**
16
+ * Describes the message api.v1.Permission.
17
+ * Use `create(PermissionSchema)` to create a new message.
18
+ */
19
+ export const PermissionSchema = /*@__PURE__*/
20
+ messageDesc(file_api_v1_models, 0);
21
+
22
+ /**
23
+ * Describes the message api.v1.Role.
24
+ * Use `create(RoleSchema)` to create a new message.
25
+ */
26
+ export const RoleSchema = /*@__PURE__*/
27
+ messageDesc(file_api_v1_models, 1);
28
+
29
+ /**
30
+ * Describes the message api.v1.User.
31
+ * Use `create(UserSchema)` to create a new message.
32
+ */
33
+ export const UserSchema = /*@__PURE__*/
34
+ messageDesc(file_api_v1_models, 2);
35
+
36
+ /**
37
+ * Describes the message api.v1.Company.
38
+ * Use `create(CompanySchema)` to create a new message.
39
+ */
40
+ export const CompanySchema = /*@__PURE__*/
41
+ messageDesc(file_api_v1_models, 3);
42
+
43
+ /**
44
+ * Describes the message api.v1.Subscription.
45
+ * Use `create(SubscriptionSchema)` to create a new message.
46
+ */
47
+ export const SubscriptionSchema = /*@__PURE__*/
48
+ messageDesc(file_api_v1_models, 4);
49
+
50
+ /**
51
+ * Describes the message api.v1.SubscriptionItem.
52
+ * Use `create(SubscriptionItemSchema)` to create a new message.
53
+ */
54
+ export const SubscriptionItemSchema = /*@__PURE__*/
55
+ messageDesc(file_api_v1_models, 5);
56
+
57
+ /**
58
+ * Describes the message api.v1.PaymentMethod.
59
+ * Use `create(PaymentMethodSchema)` to create a new message.
60
+ */
61
+ export const PaymentMethodSchema = /*@__PURE__*/
62
+ messageDesc(file_api_v1_models, 6);
63
+
64
+ /**
65
+ * Describes the message api.v1.ProductConfig.
66
+ * Use `create(ProductConfigSchema)` to create a new message.
67
+ */
68
+ export const ProductConfigSchema = /*@__PURE__*/
69
+ messageDesc(file_api_v1_models, 7);
70
+
71
+ /**
72
+ * Describes the message api.v1.CompanyCredits.
73
+ * Use `create(CompanyCreditsSchema)` to create a new message.
74
+ */
75
+ export const CompanyCreditsSchema = /*@__PURE__*/
76
+ messageDesc(file_api_v1_models, 8);
77
+
78
+ /**
79
+ * Describes the message api.v1.CreditTransaction.
80
+ * Use `create(CreditTransactionSchema)` to create a new message.
81
+ */
82
+ export const CreditTransactionSchema = /*@__PURE__*/
83
+ messageDesc(file_api_v1_models, 9);
84
+
85
+ /**
86
+ * Describes the message api.v1.Project.
87
+ * Use `create(ProjectSchema)` to create a new message.
88
+ */
89
+ export const ProjectSchema = /*@__PURE__*/
90
+ messageDesc(file_api_v1_models, 10);
91
+
92
+ /**
93
+ * Describes the message api.v1.ProjectMembership.
94
+ * Use `create(ProjectMembershipSchema)` to create a new message.
95
+ */
96
+ export const ProjectMembershipSchema = /*@__PURE__*/
97
+ messageDesc(file_api_v1_models, 11);
98
+
99
+ /**
100
+ * Describes the message api.v1.DocSpace.
101
+ * Use `create(DocSpaceSchema)` to create a new message.
102
+ */
103
+ export const DocSpaceSchema = /*@__PURE__*/
104
+ messageDesc(file_api_v1_models, 12);
105
+
106
+ /**
107
+ * Describes the message api.v1.DocPage.
108
+ * Use `create(DocPageSchema)` to create a new message.
109
+ */
110
+ export const DocPageSchema = /*@__PURE__*/
111
+ messageDesc(file_api_v1_models, 13);
112
+
113
+ /**
114
+ * Describes the message api.v1.DocPageVersion.
115
+ * Use `create(DocPageVersionSchema)` to create a new message.
116
+ */
117
+ export const DocPageVersionSchema = /*@__PURE__*/
118
+ messageDesc(file_api_v1_models, 14);
119
+
120
+ /**
121
+ * Describes the message api.v1.VCSIntegration.
122
+ * Use `create(VCSIntegrationSchema)` to create a new message.
123
+ */
124
+ export const VCSIntegrationSchema = /*@__PURE__*/
125
+ messageDesc(file_api_v1_models, 15);
126
+
127
+ /**
128
+ * Describes the message api.v1.ProjectRepository.
129
+ * Use `create(ProjectRepositorySchema)` to create a new message.
130
+ */
131
+ export const ProjectRepositorySchema = /*@__PURE__*/
132
+ messageDesc(file_api_v1_models, 16);
133
+
134
+ /**
135
+ * Describes the message api.v1.Board.
136
+ * Use `create(BoardSchema)` to create a new message.
137
+ */
138
+ export const BoardSchema = /*@__PURE__*/
139
+ messageDesc(file_api_v1_models, 17);
140
+
141
+ /**
142
+ * Describes the message api.v1.Cycle.
143
+ * Use `create(CycleSchema)` to create a new message.
144
+ */
145
+ export const CycleSchema = /*@__PURE__*/
146
+ messageDesc(file_api_v1_models, 18);
147
+
148
+ /**
149
+ * Describes the message api.v1.BoardColumn.
150
+ * Use `create(BoardColumnSchema)` to create a new message.
151
+ */
152
+ export const BoardColumnSchema = /*@__PURE__*/
153
+ messageDesc(file_api_v1_models, 19);
154
+
155
+ /**
156
+ * Describes the message api.v1.TaskType.
157
+ * Use `create(TaskTypeSchema)` to create a new message.
158
+ */
159
+ export const TaskTypeSchema = /*@__PURE__*/
160
+ messageDesc(file_api_v1_models, 20);
161
+
162
+ /**
163
+ * Describes the message api.v1.TaskPriority.
164
+ * Use `create(TaskPrioritySchema)` to create a new message.
165
+ */
166
+ export const TaskPrioritySchema = /*@__PURE__*/
167
+ messageDesc(file_api_v1_models, 21);
168
+
169
+ /**
170
+ * Describes the message api.v1.Label.
171
+ * Use `create(LabelSchema)` to create a new message.
172
+ */
173
+ export const LabelSchema = /*@__PURE__*/
174
+ messageDesc(file_api_v1_models, 22);
175
+
176
+ /**
177
+ * Describes the message api.v1.Component.
178
+ * Use `create(ComponentSchema)` to create a new message.
179
+ */
180
+ export const ComponentSchema = /*@__PURE__*/
181
+ messageDesc(file_api_v1_models, 23);
182
+
183
+ /**
184
+ * Describes the message api.v1.Task.
185
+ * Use `create(TaskSchema)` to create a new message.
186
+ */
187
+ export const TaskSchema = /*@__PURE__*/
188
+ messageDesc(file_api_v1_models, 24);
189
+
190
+ /**
191
+ * Describes the message api.v1.TaskLabel.
192
+ * Use `create(TaskLabelSchema)` to create a new message.
193
+ */
194
+ export const TaskLabelSchema = /*@__PURE__*/
195
+ messageDesc(file_api_v1_models, 25);
196
+
197
+ /**
198
+ * Describes the message api.v1.TaskContributor.
199
+ * Use `create(TaskContributorSchema)` to create a new message.
200
+ */
201
+ export const TaskContributorSchema = /*@__PURE__*/
202
+ messageDesc(file_api_v1_models, 26);
203
+
204
+ /**
205
+ * Describes the message api.v1.TaskComponent.
206
+ * Use `create(TaskComponentSchema)` to create a new message.
207
+ */
208
+ export const TaskComponentSchema = /*@__PURE__*/
209
+ messageDesc(file_api_v1_models, 27);
210
+
211
+ /**
212
+ * Describes the message api.v1.TaskRepository.
213
+ * Use `create(TaskRepositorySchema)` to create a new message.
214
+ */
215
+ export const TaskRepositorySchema = /*@__PURE__*/
216
+ messageDesc(file_api_v1_models, 28);
217
+
218
+ /**
219
+ * Describes the message api.v1.TaskDocPage.
220
+ * Use `create(TaskDocPageSchema)` to create a new message.
221
+ */
222
+ export const TaskDocPageSchema = /*@__PURE__*/
223
+ messageDesc(file_api_v1_models, 29);
224
+
225
+ /**
226
+ * Describes the message api.v1.TaskDocument.
227
+ * Use `create(TaskDocumentSchema)` to create a new message.
228
+ */
229
+ export const TaskDocumentSchema = /*@__PURE__*/
230
+ messageDesc(file_api_v1_models, 30);
231
+
232
+ /**
233
+ * Describes the message api.v1.TaskPullRequest.
234
+ * Use `create(TaskPullRequestSchema)` to create a new message.
235
+ */
236
+ export const TaskPullRequestSchema = /*@__PURE__*/
237
+ messageDesc(file_api_v1_models, 31);
238
+
239
+ /**
240
+ * Describes the message api.v1.Comment.
241
+ * Use `create(CommentSchema)` to create a new message.
242
+ */
243
+ export const CommentSchema = /*@__PURE__*/
244
+ messageDesc(file_api_v1_models, 32);
245
+
246
+ /**
247
+ * Describes the message api.v1.Attachment.
248
+ * Use `create(AttachmentSchema)` to create a new message.
249
+ */
250
+ export const AttachmentSchema = /*@__PURE__*/
251
+ messageDesc(file_api_v1_models, 33);
252
+
253
+ /**
254
+ * Describes the message api.v1.AIRunStatus.
255
+ * Use `create(AIRunStatusSchema)` to create a new message.
256
+ */
257
+ export const AIRunStatusSchema = /*@__PURE__*/
258
+ messageDesc(file_api_v1_models, 34);
259
+
260
+ /**
261
+ * Describes the message api.v1.AIUnitStage.
262
+ * Use `create(AIUnitStageSchema)` to create a new message.
263
+ */
264
+ export const AIUnitStageSchema = /*@__PURE__*/
265
+ messageDesc(file_api_v1_models, 35);
266
+
267
+ /**
268
+ * Describes the message api.v1.AIUnitStatus.
269
+ * Use `create(AIUnitStatusSchema)` to create a new message.
270
+ */
271
+ export const AIUnitStatusSchema = /*@__PURE__*/
272
+ messageDesc(file_api_v1_models, 36);
273
+
274
+ /**
275
+ * Describes the message api.v1.AIUnitCategory.
276
+ * Use `create(AIUnitCategorySchema)` to create a new message.
277
+ */
278
+ export const AIUnitCategorySchema = /*@__PURE__*/
279
+ messageDesc(file_api_v1_models, 37);
280
+
281
+ /**
282
+ * Describes the message api.v1.AIWorkflowRun.
283
+ * Use `create(AIWorkflowRunSchema)` to create a new message.
284
+ */
285
+ export const AIWorkflowRunSchema = /*@__PURE__*/
286
+ messageDesc(file_api_v1_models, 38);
287
+
288
+ /**
289
+ * Describes the message api.v1.AIWorkflowUnit.
290
+ * Use `create(AIWorkflowUnitSchema)` to create a new message.
291
+ */
292
+ export const AIWorkflowUnitSchema = /*@__PURE__*/
293
+ messageDesc(file_api_v1_models, 39);
294
+
295
+ /**
296
+ * Describes the message api.v1.Environment.
297
+ * Use `create(EnvironmentSchema)` to create a new message.
298
+ */
299
+ export const EnvironmentSchema = /*@__PURE__*/
300
+ messageDesc(file_api_v1_models, 40);
301
+
302
+ /**
303
+ * Describes the message api.v1.Deployment.
304
+ * Use `create(DeploymentSchema)` to create a new message.
305
+ */
306
+ export const DeploymentSchema = /*@__PURE__*/
307
+ messageDesc(file_api_v1_models, 41);
308
+
309
+ /**
310
+ * Describes the message api.v1.TestRun.
311
+ * Use `create(TestRunSchema)` to create a new message.
312
+ */
313
+ export const TestRunSchema = /*@__PURE__*/
314
+ messageDesc(file_api_v1_models, 42);
315
+
316
+ /**
317
+ * Describes the message api.v1.ActivityLog.
318
+ * Use `create(ActivityLogSchema)` to create a new message.
319
+ */
320
+ export const ActivityLogSchema = /*@__PURE__*/
321
+ messageDesc(file_api_v1_models, 43);
322
+
323
+ /**
324
+ * Describes the message api.v1.Notification.
325
+ * Use `create(NotificationSchema)` to create a new message.
326
+ */
327
+ export const NotificationSchema = /*@__PURE__*/
328
+ messageDesc(file_api_v1_models, 44);
329
+
330
+ /**
331
+ * Describes the message api.v1.Country.
332
+ * Use `create(CountrySchema)` to create a new message.
333
+ */
334
+ export const CountrySchema = /*@__PURE__*/
335
+ messageDesc(file_api_v1_models, 45);
336
+
337
+ /**
338
+ * Describes the message api.v1.Document.
339
+ * Use `create(DocumentSchema)` to create a new message.
340
+ */
341
+ export const DocumentSchema = /*@__PURE__*/
342
+ messageDesc(file_api_v1_models, 46);
343
+
344
+ /**
345
+ * Describes the message api.v1.DocumentLink.
346
+ * Use `create(DocumentLinkSchema)` to create a new message.
347
+ */
348
+ export const DocumentLinkSchema = /*@__PURE__*/
349
+ messageDesc(file_api_v1_models, 47);
350
+
351
+ /**
352
+ * Describes the message api.v1.WorkLog.
353
+ * Use `create(WorkLogSchema)` to create a new message.
354
+ */
355
+ export const WorkLogSchema = /*@__PURE__*/
356
+ messageDesc(file_api_v1_models, 48);
357
+