@opsee/mcp-server 0.9.60 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/gen/api/v1/billing_pb.d.ts +0 -40
- package/gen/api/v1/billing_pb.js +22 -36
- package/gen/api/v1/developer_metrics_pb.d.ts +9 -3
- package/gen/api/v1/developer_metrics_pb.js +2 -1
- package/gen/api/v1/models_pb.d.ts +116 -5
- package/gen/api/v1/models_pb.js +33 -26
- package/gen/api/v1/project_pb.d.ts +18 -13
- package/gen/api/v1/project_pb.js +1 -1
- package/gen/api/v1/task_subscription_pb.d.ts +146 -0
- package/gen/api/v1/task_subscription_pb.js +66 -0
- package/gen/api/v1/vcs_connection_pb.d.ts +34 -3
- package/gen/api/v1/vcs_connection_pb.js +28 -20
- package/gen/api/v1/vcs_integration_pb.d.ts +11 -1
- package/gen/api/v1/vcs_integration_pb.js +2 -1
- package/gen/fk/foreign_key_pb.d.ts +22 -0
- package/gen/fk/foreign_key_pb.js +24 -0
- package/package.json +11 -11
- package/src/auth/kv-store.ts +12 -33
- package/src/auth/manager.ts +1 -6
- package/src/auth/oauth-provider.ts +32 -104
- package/src/auth/renew.ts +5 -15
- package/src/client/api.ts +3 -5
- package/src/server-http.ts +14 -30
- package/src/tools/acceptance-criteria.ts +4 -14
- package/src/tools/descriptions.ts +2 -7
- package/src/tools/doc-links.ts +4 -9
- package/src/tools/doc-spaces.ts +1 -1
- package/src/tools/docs.ts +8 -19
- package/src/tools/notifications.ts +2 -6
- package/src/tools/tasks-bulk.ts +3 -8
- package/src/tools/tasks-read-write.ts +1 -8
- package/src/utils/format/blocknote.ts +8 -23
- package/src/utils/tool-schema.ts +7 -29
- package/README.md +0 -304
- package/gen/api/v1/deployment_pb.d.ts +0 -277
- package/gen/api/v1/deployment_pb.js +0 -89
- package/gen/api/v1/environment_pb.d.ts +0 -277
- package/gen/api/v1/environment_pb.js +0 -89
- package/gen/api/v1/test_run_pb.d.ts +0 -277
- package/gen/api/v1/test_run_pb.js +0 -89
package/gen/api/v1/models_pb.js
CHANGED
|
@@ -10,7 +10,7 @@ import { file_api_v1_vcs } from "./vcs_pb";
|
|
|
10
10
|
* Describes the file api/v1/models.proto.
|
|
11
11
|
*/
|
|
12
12
|
export const file_api_v1_models = /*@__PURE__*/
|
|
13
|
-
fileDesc("ChNhcGkvdjEvbW9kZWxzLnByb3RvEgZhcGkudjEiJgoKUGVybWlzc2lvbhIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJImgKBFJvbGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIdCgdwYXJlbnRzGAMgAygLMgwuYXBpLnYxLlJvbGUSJwoLcGVybWlzc2lvbnMYBCADKAsyEi5hcGkudjEuUGVybWlzc2lvbiLhAgoEVXNlchIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEg0KBWVtYWlsGAIgASgJEhIKCmZpcnN0X25hbWUYAyABKAkSEQoJbGFzdF9uYW1lGAQgASgJEhEKCWZ1bGxfbmFtZRgFIAEoCRIVCg1wcm92aWRlcl9uYW1lGAYgASgJEhsKBXJvbGVzGAcgAygLMgwuYXBpLnYxLlJvbGUSJQoPZmxhdHRlbmVkX3JvbGVzGAggAygLMgwuYXBpLnYxLlJvbGUSEgoKY3JlYXRlZF9hdBgJIAEoCRISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueRINCgVwaG9uZRgMIAEoCRIYChBwaG9uZV9jb3VudHJ5X2lkGA0gASgNEhIKCmF2YXRhcl91cmwYDiABKAkSFAoMYXZhdGFyX2NvbG9yGA8gASgJItAECgdDb21wYW55EgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESGAoLd2Vic2l0ZV91cmwYBSABKAlIAYgBARIVCghpbmR1c3RyeRgGIAEoCUgCiAEBEhEKBHNpemUYByABKAlIA4gBARIaCg1zZXR0aW5nc19qc29uGAggASgJSASIAQESEQoJaXNfYWN0aXZlGAkgASgIEhoKDWJpbGxpbmdfZW1haWwYCiABKAlIBYgBARIUCgdhZGRyZXNzGAsgASgJSAaIAQESFQoIYWRkcmVzczIYDCABKAlIB4gBARIRCgRjaXR5GA0gASgJSAiIAQESEgoFc3RhdGUYDiABKAlICYgBARIVCgh6aXBfY29kZRgPIAEoCUgKiAEBEhcKCmNvdW50cnlfaWQYECABKA1IC4gBARITCgZ0YXhfaWQYESABKAlIDIgBARIgCgdjb3VudHJ5GBIgASgLMg8uYXBpLnYxLkNvdW50cnlCDgoMX2Rlc2NyaXB0aW9uQg4KDF93ZWJzaXRlX3VybEILCglfaW5kdXN0cnlCBwoFX3NpemVCEAoOX3NldHRpbmdzX2pzb25CEAoOX2JpbGxpbmdfZW1haWxCCgoIX2FkZHJlc3NCCwoJX2FkZHJlc3MyQgcKBV9jaXR5QggKBl9zdGF0ZUILCglfemlwX2NvZGVCDQoLX2NvdW50cnlfaWRCCQoHX3RheF9pZCLkBAoMU3Vic2NyaXB0aW9uEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKY29tcGFueV9pZBgCIAEoDRIaChJzdHJpcGVfY3VzdG9tZXJfaWQYAyABKAkSIwoWc3RyaXBlX3N1YnNjcmlwdGlvbl9pZBgEIAEoCUgAiAEBEg4KBnN0YXR1cxgFIAEoCRI9ChRjdXJyZW50X3BlcmlvZF9zdGFydBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChJjdXJyZW50X3BlcmlvZF9lbmQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESHgoRcGF5bWVudF9tZXRob2RfaWQYCCABKA1IA4gBARInCgVpdGVtcxgJIAMoCzIYLmFwaS52MS5TdWJzY3JpcHRpb25JdGVtEi0KDnBheW1lbnRfbWV0aG9kGAogASgLMhUuYXBpLnYxLlBheW1lbnRNZXRob2QSIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhkKF19zdHJpcGVfc3Vic2NyaXB0aW9uX2lkQhcKFV9jdXJyZW50X3BlcmlvZF9zdGFydEIVChNfY3VycmVudF9wZXJpb2RfZW5kQhQKEl9wYXltZW50X21ldGhvZF9pZCKAAgoQU3Vic2NyaXB0aW9uSXRlbRIKCgJpZBgBIAEoDRIXCg9zdWJzY3JpcHRpb25faWQYAiABKA0SFAoMcHJvZHVjdF90eXBlGAMgASgJEhAKCHF1YW50aXR5GAQgASgFEhIKCnVuaXRfcHJpY2UYBSABKAMSGAoQYmlsbGluZ19pbnRlcnZhbBgGIAEoCRIRCglpc19hY3RpdmUYByABKAgSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixAIKDVBheW1lbnRNZXRob2QSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRISCgpjb21wYW55X2lkGAIgASgNEhgKEHN0cmlwZV9tZXRob2RfaWQYAyABKAkSDAoEdHlwZRgEIAEoCRINCgVsYXN0NBgFIAEoCRINCgVicmFuZBgGIAEoCRIUCgxleHBpcnlfbW9udGgYByABKAUSEwoLZXhwaXJ5X3llYXIYCCABKAUSEgoKaXNfZGVmYXVsdBgJIAEoCBIgCgdjb21wYW55GAogASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAioAIKDVByb2R1Y3RDb25maWcSCgoCaWQYASABKA0SFAoMcHJvZHVjdF90eXBlGAIgASgJEhUKDW1vbnRobHlfcHJpY2UYAyABKAMSFAoMeWVhcmx5X3ByaWNlGAQgASgDEhUKDWZyZWVfcXVhbnRpdHkYBSABKAUSFAoMaXNfcmVjdXJyaW5nGAYgASgIEhkKEXN0cmlwZV9tb250aGx5X2lkGAcgASgJEhgKEHN0cmlwZV95ZWFybHlfaWQYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAIKDkNvbXBhbnlDcmVkaXRzEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SFQoNdG90YWxfY3JlZGl0cxgDIAEoBRIUCgx1c2VkX2NyZWRpdHMYBCABKAUSGQoRYXZhaWxhYmxlX2NyZWRpdHMYBSABKAUSOgoRbGFzdF9hbGxvY2F0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIAoHY29tcGFueRgHIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhQKEl9sYXN0X2FsbG9jYXRlZF9hdCKjAgoRQ3JlZGl0VHJhbnNhY3Rpb24SCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAUSDgoGcmVhc29uGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgJSAGIAQESGgoNbWV0YWRhdGFfanNvbhgHIAEoCUgCiAEBEiAKB2NvbXBhbnkYCCABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEIQCg5fbWV0YWRhdGFfanNvbiL0AQoHUHJvamVjdBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSDAoEc2x1ZxgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgFIAEoCBIaCg1zZXR0aW5nc19qc29uGAYgASgJSAGIAQESEgoKY29tcGFueV9pZBgHIAEoDRIgCgdjb21wYW55GAggASgLMg8uYXBpLnYxLkNvbXBhbnkSEgoKc2hvcnRfbmFtZRgJIAEoCUIOCgxfZGVzY3JpcHRpb25CEAoOX3NldHRpbmdzX2pzb24ipQEKEVByb2plY3RNZW1iZXJzaGlwEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSEwoLaXNfZmF2b3JpdGUYAyABKAgSEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSDwoHdXNlcl9pZBgGIAEoDRIaCgR1c2VyGAcgASgLMgwuYXBpLnYxLlVzZXIiwgIKCERvY1NwYWNlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgppc19kZWZhdWx0GAUgASgIEhMKC2lzX2FyY2hpdmVkGAYgASgIEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgJIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYCiABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYCyABKA0SJQoPdXBkYXRlZF9ieV91c2VyGAwgASgLMgwuYXBpLnYxLlVzZXJCDgoMX2Rlc2NyaXB0aW9uIvsDCgdEb2NQYWdlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSFwoPY3VycmVudF9jb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIeChZjdXJyZW50X3ZlcnNpb25fbnVtYmVyGAYgASgFEg8KB2lzX3Jvb3QYByABKAgSEwoLaXNfYXJjaGl2ZWQYCCABKAgSFQoNZGlzcGxheV9vcmRlchgJIAEoBRIUCgxkb2Nfc3BhY2VfaWQYCiABKA0SIwoJZG9jX3NwYWNlGAsgASgLMhAuYXBpLnYxLkRvY1NwYWNlEhsKDnBhcmVudF9wYWdlX2lkGAwgASgNSACIAQESJAoLcGFyZW50X3BhZ2UYDSABKAsyDy5hcGkudjEuRG9jUGFnZRIkCgtjaGlsZF9wYWdlcxgOIAMoCzIPLmFwaS52MS5Eb2NQYWdlEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgPIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYECABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYESABKA0SJQoPdXBkYXRlZF9ieV91c2VyGBIgASgLMgwuYXBpLnYxLlVzZXJCEQoPX3BhcmVudF9wYWdlX2lkIvUCCg5Eb2NQYWdlVmVyc2lvbhIKCgJpZBgBIAEoDRIWCg52ZXJzaW9uX251bWJlchgCIAEoBRINCgV0aXRsZRgDIAEoCRIPCgdjb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIbCg5jaGFuZ2Vfc3VtbWFyeRgGIAEoCUgAiAEBEhMKC2RvY19wYWdlX2lkGAcgASgNEiEKCGRvY19wYWdlGAggASgLMg8uYXBpLnYxLkRvY1BhZ2USGgoSY3JlYXRlZF9ieV91c2VyX2lkGAkgASgNEiUKD2NyZWF0ZWRfYnlfdXNlchgKIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhEKD19jaGFuZ2Vfc3VtbWFyeSKQCAoOVkNTSW50ZWdyYXRpb24SCgoCaWQYASABKA0SEgoKcmVwb19vd25lchgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSFwoPdG9rZW5fZW5jcnlwdGVkGAQgASgJEhYKDmRlZmF1bHRfYnJhbmNoGAUgASgJEhsKDndlYmhvb2tfc2VjcmV0GAYgASgJSACIAQESHQoQcGVybWlzc2lvbnNfanNvbhgHIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgIIAEoCBISCgpwcm9qZWN0X2lkGAkgASgNEiAKB3Byb2plY3QYCiABKAsyDy5hcGkudjEuUHJvamVjdBIcCg9pbnN0YWxsYXRpb25faWQYCyABKANIAogBARITCgZhcHBfaWQYDCABKAlIA4gBARIpChxpbnN0YWxsYXRpb25fdG9rZW5fZW5jcnlwdGVkGA0gASgJSASIAQESRgodaW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESGAoLb2F1dGhfc3RhdGUYDyABKAlIBogBARIYChBhdXRvX3N5bmNfaXNzdWVzGBAgASgIEhoKEmVuYWJsZV9wcl93ZWJob29rcxgRIAEoCBIlCghwcm92aWRlchgeIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlchIZCgxpbnN0YW5jZV91cmwYHyABKAlIB4gBARIjChZhY2Nlc3NfdG9rZW5fZW5jcnlwdGVkGCAgASgJSAiIAQESJAoXcmVmcmVzaF90b2tlbl9lbmNyeXB0ZWQYISABKAlICYgBARI5ChB0b2tlbl9leHBpcmVzX2F0GCIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEhwKD2dpdGxhYl9ncm91cF9pZBgjIAEoA0gLiAEBEhsKDmdpdGxhYl91c2VyX2lkGCQgASgDSAyIAQFCEQoPX3dlYmhvb2tfc2VjcmV0QhMKEV9wZXJtaXNzaW9uc19qc29uQhIKEF9pbnN0YWxsYXRpb25faWRCCQoHX2FwcF9pZEIfCh1faW5zdGFsbGF0aW9uX3Rva2VuX2VuY3J5cHRlZEIgCh5faW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXRCDgoMX29hdXRoX3N0YXRlQg8KDV9pbnN0YW5jZV91cmxCGQoXX2FjY2Vzc190b2tlbl9lbmNyeXB0ZWRCGgoYX3JlZnJlc2hfdG9rZW5fZW5jcnlwdGVkQhMKEV90b2tlbl9leHBpcmVzX2F0QhIKEF9naXRsYWJfZ3JvdXBfaWRCEQoPX2dpdGxhYl91c2VyX2lkItAEChFQcm9qZWN0UmVwb3NpdG9yeRIKCgJpZBgBIAEoDRISCgpwcm9qZWN0X2lkGAIgASgNEiAKB3Byb2plY3QYAyABKAsyDy5hcGkudjEuUHJvamVjdBIaChJ2Y3NfaW50ZWdyYXRpb25faWQYBCABKA0SLwoPdmNzX2ludGVncmF0aW9uGAUgASgLMhYuYXBpLnYxLlZDU0ludGVncmF0aW9uEhUKDXJlcG9zaXRvcnlfaWQYBiABKAMSGAoQcmVwb3NpdG9yeV9vd25lchgHIAEoCRIXCg9yZXBvc2l0b3J5X25hbWUYCCABKAkSHAoUcmVwb3NpdG9yeV9mdWxsX25hbWUYCSABKAkSFgoOZGVmYXVsdF9icmFuY2gYCiABKAkSEgoKaXNfcHJpdmF0ZRgLIAEoCBIYCgtkZXNjcmlwdGlvbhgMIAEoCUgAiAEBEgsKA3VybBgNIAEoCRIRCglpc19hY3RpdmUYDiABKAgSLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQYXV0b19zeW5jX2lzc3VlcxgRIAEoCBIaChJlbmFibGVfcHJfd2ViaG9va3MYEiABKAgSJQoIcHJvdmlkZXIYEyABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXISEQoJY2xvbmVfdXJsGBQgASgJQg4KDF9kZXNjcmlwdGlvbiK5AQoFQm9hcmQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFQoNZGlzcGxheV9vcmRlchgEIAEoBRIRCglpc19hY3RpdmUYBSABKAgSEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3RCDgoMX2Rlc2NyaXB0aW9uIo4CCgVDeWNsZRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhEKBGdvYWwYAyABKAlIAIgBARIuCgpzdGFydF9kYXRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfZGF0ZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAggASgIEhgKC2Rlc2NyaXB0aW9uGAkgASgJSAGIAQFCBwoFX2dvYWxCDgoMX2Rlc2NyaXB0aW9uIt8BCgtCb2FyZENvbHVtbhIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV9vcmRlchgDIAEoBRISCgVjb2xvchgEIAEoCUgAiAEBEhwKD2xpZmVjeWNsZV9zdGF0ZRgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIQCghib2FyZF9pZBgHIAEoDRIcCgVib2FyZBgIIAEoCzINLmFwaS52MS5Cb2FyZEIICgZfY29sb3JCEgoQX2xpZmVjeWNsZV9zdGF0ZSK+AQoIVGFza1R5cGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRISCgVjb2xvchgDIAEoCUgAiAEBEhEKBGljb24YBCABKAlIAYgBARISCgpwcm9qZWN0X2lkGAUgASgNEiAKB3Byb2plY3QYBiABKAsyDy5hcGkudjEuUHJvamVjdBIVCg1kaXNwbGF5X29yZGVyGAcgASgFEhEKCWlzX2FjdGl2ZRgIIAEoCEIICgZfY29sb3JCBwoFX2ljb24ingEKDFRhc2tQcmlvcml0eRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEg0KBWxldmVsGAMgASgFEhIKBWNvbG9yGAQgASgJSACIAQESEgoKcHJvamVjdF9pZBgFIAEoDRIgCgdwcm9qZWN0GAYgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAcgASgIQggKBl9jb2xvciKjAQoFTGFiZWwSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRINCgVjb2xvchgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgNEiAKB3Byb2plY3QYBSABKAsyDy5hcGkudjEuUHJvamVjdBIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgHIAEoCEIOCgxfZGVzY3JpcHRpb24i5QEKCUNvbXBvbmVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSGQoMbGVhZF91c2VyX2lkGAYgASgNSAGIAQESHwoJbGVhZF91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISEQoJaXNfYWN0aXZlGAggASgIQg4KDF9kZXNjcmlwdGlvbkIPCg1fbGVhZF91c2VyX2lkIssOCgRUYXNrEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKaWRlbnRpZmllchgCIAEoCRINCgV0aXRsZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBSABKAkSGQoMc3RvcnlfcG9pbnRzGAYgASgFSAGIAQESHAoPZXN0aW1hdGVkX2hvdXJzGAcgASgBSAKIAQESGQoMYWN0dWFsX2hvdXJzGAggASgBSAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SHAoFYm9hcmQYDSABKAsyDS5hcGkudjEuQm9hcmQSFwoPYm9hcmRfY29sdW1uX2lkGA4gASgNEikKDGJvYXJkX2NvbHVtbhgPIAEoCzITLmFwaS52MS5Cb2FyZENvbHVtbhISCgpwcm9qZWN0X2lkGBAgASgNEiAKB3Byb2plY3QYESABKAsyDy5hcGkudjEuUHJvamVjdBIUCgx0YXNrX3R5cGVfaWQYEiABKA0SIwoJdGFza190eXBlGBMgASgLMhAuYXBpLnYxLlRhc2tUeXBlEhgKEHRhc2tfcHJpb3JpdHlfaWQYFCABKA0SKwoNdGFza19wcmlvcml0eRgVIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkSGAoQcmVwb3J0ZXJfdXNlcl9pZBgWIAEoDRIjCg1yZXBvcnRlcl91c2VyGBcgASgLMgwuYXBpLnYxLlVzZXISHQoQYXNzaWduZWRfdXNlcl9pZBgYIAEoDUgFiAEBEiMKDWFzc2lnbmVkX3VzZXIYGSABKAsyDC5hcGkudjEuVXNlchIbCg5wYXJlbnRfdGFza19pZBgaIAEoDUgGiAEBEiEKC3BhcmVudF90YXNrGBsgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgcIAEoDRIgCgdjb21wYW55GB0gASgLMg8uYXBpLnYxLkNvbXBhbnkSJgoLdGFza19sYWJlbHMYHiADKAsyES5hcGkudjEuVGFza0xhYmVsEi4KD3Rhc2tfY29tcG9uZW50cxgfIAMoCzIVLmFwaS52MS5UYXNrQ29tcG9uZW50EjIKEXRhc2tfY29udHJpYnV0b3JzGCAgAygLMhcuYXBpLnYxLlRhc2tDb250cmlidXRvchIxChF0YXNrX3JlcG9zaXRvcmllcxghIAMoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeRIzChJ0YXNrX3B1bGxfcmVxdWVzdHMYIiADKAsyFy5hcGkudjEuVGFza1B1bGxSZXF1ZXN0EhUKCGN5Y2xlX2lkGCMgASgNSAeIAQESHAoFY3ljbGUYJCABKAsyDS5hcGkudjEuQ3ljbGUSIgoJd29ya19sb2dzGCUgAygLMg8uYXBpLnYxLldvcmtMb2cSNAoLcmVzb2x2ZWRfYXQYJiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESKwoOdGFza19kb2NfcGFnZXMYJyADKAsyEy5hcGkudjEuVGFza0RvY1BhZ2USLAoOdGFza19kb2N1bWVudHMYKCADKAsyFC5hcGkudjEuVGFza0RvY3VtZW50Ei4KCmNyZWF0ZWRfYXQYKSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYKiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKCW1pbGVzdG9uZRgrIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSOgoadGFza19kZXBlbmRlbmNpZXNfb3V0Z29pbmcYLCADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kSOgoadGFza19kZXBlbmRlbmNpZXNfaW5jb21pbmcYLSADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kSGQoMbWlsZXN0b25lX2lkGC4gASgNSAmIAQESGgoNaW5pdGlhdGl2ZV9pZBgvIAEoDUgKiAEBEiYKCmluaXRpYXRpdmUYMCABKAsyEi5hcGkudjEuSW5pdGlhdGl2ZUIOCgxfZGVzY3JpcHRpb25CDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQg8KDV9hY3R1YWxfaG91cnNCEAoOX21ldGFkYXRhX2pzb25CEwoRX2Fzc2lnbmVkX3VzZXJfaWRCEQoPX3BhcmVudF90YXNrX2lkQgsKCV9jeWNsZV9pZEIOCgxfcmVzb2x2ZWRfYXRCDwoNX21pbGVzdG9uZV9pZEIQCg5faW5pdGlhdGl2ZV9pZCJ0CglUYXNrTGFiZWwSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSEAoIbGFiZWxfaWQYBCABKA0SHAoFbGFiZWwYBSABKAsyDS5hcGkudjEuTGFiZWwihQEKD1Rhc2tDb250cmlidXRvchIKCgJpZBgBIAEoDRIMCgRyb2xlGAIgASgJEg8KB3Rhc2tfaWQYAyABKA0SGgoEdGFzaxgEIAEoCzIMLmFwaS52MS5UYXNrEg8KB3VzZXJfaWQYBSABKA0SGgoEdXNlchgGIAEoCzIMLmFwaS52MS5Vc2VyIoQBCg1UYXNrQ29tcG9uZW50EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoEdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEhQKDGNvbXBvbmVudF9pZBgEIAEoDRIkCgljb21wb25lbnQYBSABKAsyES5hcGkudjEuQ29tcG9uZW50ItABCg5UYXNrUmVwb3NpdG9yeRIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKEnZjc19pbnRlZ3JhdGlvbl9pZBgEIAEoDRIvCg92Y3NfaW50ZWdyYXRpb24YBSABKAsyFi5hcGkudjEuVkNTSW50ZWdyYXRpb24SHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAYgASgNEjUKEnByb2plY3RfcmVwb3NpdG9yeRgHIAEoCzIZLmFwaS52MS5Qcm9qZWN0UmVwb3NpdG9yeSJ2CgtUYXNrRG9jUGFnZRIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhMKC2RvY19wYWdlX2lkGAMgASgNEiEKCGRvY19wYWdlGAQgASgLMg8uYXBpLnYxLkRvY1BhZ2USEgoKY29tcGFueV9pZBgFIAEoDSJ4CgxUYXNrRG9jdW1lbnQSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRITCgtkb2N1bWVudF9pZBgDIAEoDRIiCghkb2N1bWVudBgEIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpjb21wYW55X2lkGAUgASgNIukBCg9UYXNrUHVsbFJlcXVlc3QSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAyABKA0SNQoScHJvamVjdF9yZXBvc2l0b3J5GAQgASgLMhkuYXBpLnYxLlByb2plY3RSZXBvc2l0b3J5EhEKCXByX251bWJlchgFIAEoBRINCgV0aXRsZRgGIAEoCRILCgN1cmwYByABKAkSDQoFc3RhdGUYCCABKAkSJQoIcHJvdmlkZXIYCSABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXIi3wMKB0NvbW1lbnQSCgoCaWQYASABKA0SDwoHY29udGVudBgCIAEoCRITCgtpc19pbnRlcm5hbBgDIAEoCBIUCgd0YXNrX2lkGAQgASgNSACIAQESGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhgKC2RvY19wYWdlX2lkGAYgASgNSAGIAQESIQoIZG9jX3BhZ2UYByABKAsyDy5hcGkudjEuRG9jUGFnZRIPCgd1c2VyX2lkGAggASgNEhoKBHVzZXIYCSABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaCg1pbml0aWF0aXZlX2lkGA4gASgNSAKIAQESJgoKaW5pdGlhdGl2ZRgPIAEoCzISLmFwaS52MS5Jbml0aWF0aXZlQgoKCF90YXNrX2lkQg4KDF9kb2NfcGFnZV9pZEIQCg5faW5pdGlhdGl2ZV9pZCL8AgoKQXR0YWNobWVudBIKCgJpZBgBIAEoDRIQCghmaWxlbmFtZRgCIAEoCRIRCglmaWxlX3NpemUYAyABKAMSEQoJbWltZV90eXBlGAQgASgJEhQKDHN0b3JhZ2VfcGF0aBgFIAEoCRIXCgpwdWJsaWNfdXJsGAYgASgJSACIAQESFAoHdGFza19pZBgHIAEoDUgBiAEBEhoKBHRhc2sYCCABKAsyDC5hcGkudjEuVGFzaxIYCgtkb2NfcGFnZV9pZBgJIAEoDUgCiAEBEiEKCGRvY19wYWdlGAogASgLMg8uYXBpLnYxLkRvY1BhZ2USDwoHdXNlcl9pZBgLIAEoDRIaCgR1c2VyGAwgASgLMgwuYXBpLnYxLlVzZXISEgoKY29tcGFueV9pZBgNIAEoDRIgCgdjb21wYW55GA4gASgLMg8uYXBpLnYxLkNvbXBhbnlCDQoLX3B1YmxpY191cmxCCgoIX3Rhc2tfaWRCDgoMX2RvY19wYWdlX2lkIlEKC0FJUnVuU3RhdHVzEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24iaAoLQUlVbml0U3RhZ2USCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAVCDgoMX2Rlc2NyaXB0aW9uIlIKDEFJVW5pdFN0YXR1cxIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIlQKDkFJVW5pdENhdGVnb3J5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24i6AUKDUFJV29ya2Zsb3dSdW4SCgoCaWQYASABKA0SHQoVYWlfY3JlZGl0c191c2VkX3RvdGFsGAIgASgFEhoKDW1ldGFkYXRhX2pzb24YAyABKAlIAIgBARIPCgd0YXNrX2lkGAQgASgNEhoKBHRhc2sYBSABKAsyDC5hcGkudjEuVGFzaxIcChR0cmlnZ2VyZWRfYnlfdXNlcl9pZBgGIAEoDRInChF0cmlnZ2VyZWRfYnlfdXNlchgHIAEoCzIMLmFwaS52MS5Vc2VyEhgKEGFpX3J1bl9zdGF0dXNfaWQYCCABKA0SKgoNYWlfcnVuX3N0YXR1cxgJIAEoCzITLmFwaS52MS5BSVJ1blN0YXR1cxIdChBjdXJyZW50X3N0YWdlX2lkGAogASgNSAGIAQESKgoNY3VycmVudF9zdGFnZRgLIAEoCzITLmFwaS52MS5BSVVuaXRTdGFnZRIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRuYW1lGA4gASgJEjMKCnN0YXJ0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESNQoMY29tcGxldGVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEiIKFXJlc3RhcnRlZF9mcm9tX3J1bl9pZBgRIAEoDUgEiAEBEhoKDXNvdXJjZV9icmFuY2gYEiABKAlIBYgBAUIQCg5fbWV0YWRhdGFfanNvbkITChFfY3VycmVudF9zdGFnZV9pZEINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0QhgKFl9yZXN0YXJ0ZWRfZnJvbV9ydW5faWRCEAoOX3NvdXJjZV9icmFuY2gi+wcKDkFJV29ya2Zsb3dVbml0EgoKAmlkGAEgASgNEhYKDnNlcXVlbmNlX29yZGVyGAIgASgFEhgKEHdvcmtfZGVzY3JpcHRpb24YAyABKAkSFwoKdmNzX2JyYW5jaBgEIAEoCUgAiAEBEhcKCnZjc19wcl91cmwYBSABKAlIAYgBARIbCg5kZXBsb3ltZW50X3VybBgGIAEoCUgCiAEBEh4KEXRlc3RfcmVzdWx0c19qc29uGAcgASgJSAOIAQESFgoJZXJyb3JfbG9nGAggASgJSASIAQESFwoPYWlfY3JlZGl0c191c2VkGAkgASgFEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIaChJhaV93b3JrZmxvd19ydW5faWQYCyABKA0SLgoPYWlfd29ya2Zsb3dfcnVuGAwgASgLMhUuYXBpLnYxLkFJV29ya2Zsb3dSdW4SDwoHdGFza19pZBgNIAEoDRIaCgR0YXNrGA4gASgLMgwuYXBpLnYxLlRhc2sSGgoSdmNzX2ludGVncmF0aW9uX2lkGA8gASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgQIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIgChNhaV91bml0X2NhdGVnb3J5X2lkGBEgASgNSAaIAQESMAoQYWlfdW5pdF9jYXRlZ29yeRgSIAEoCzIWLmFwaS52MS5BSVVuaXRDYXRlZ29yeRIYChBhaV91bml0X3N0YWdlX2lkGBMgASgNEioKDWFpX3VuaXRfc3RhZ2UYFCABKAsyEy5hcGkudjEuQUlVbml0U3RhZ2USGQoRYWlfdW5pdF9zdGF0dXNfaWQYFSABKA0SLAoOYWlfdW5pdF9zdGF0dXMYFiABKAsyFC5hcGkudjEuQUlVbml0U3RhdHVzEh8KEmRlcGVuZHNfb25fdW5pdF9pZBgXIAEoDUgHiAEBEi8KD2RlcGVuZHNfb25fdW5pdBgYIAEoCzIWLmFwaS52MS5BSVdvcmtmbG93VW5pdBIuCgpjcmVhdGVkX2F0GBkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfdmNzX2JyYW5jaEINCgtfdmNzX3ByX3VybEIRCg9fZGVwbG95bWVudF91cmxCFAoSX3Rlc3RfcmVzdWx0c19qc29uQgwKCl9lcnJvcl9sb2dCEAoOX21ldGFkYXRhX2pzb25CFgoUX2FpX3VuaXRfY2F0ZWdvcnlfaWRCFQoTX2RlcGVuZHNfb25fdW5pdF9pZCL/AQoLRW52aXJvbm1lbnQSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIRCgR0eXBlGAMgASgJSACIAQESGgoNazhzX25hbWVzcGFjZRgEIAEoCUgBiAEBEhgKC2Jhc2VfZG9tYWluGAUgASgJSAKIAQESGgoNbWV0YWRhdGFfanNvbhgGIAEoCUgDiAEBEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0QgcKBV90eXBlQhAKDl9rOHNfbmFtZXNwYWNlQg4KDF9iYXNlX2RvbWFpbkIQCg5fbWV0YWRhdGFfanNvbiKiAgoKRGVwbG95bWVudBIKCgJpZBgBIAEoDRIOCgZzdGF0dXMYAiABKAkSEAoDdXJsGAMgASgJSACIAQESFQoIbG9nc191cmwYBCABKAlIAYgBARIaCg1tZXRhZGF0YV9qc29uGAUgASgJSAKIAQESFgoOZW52aXJvbm1lbnRfaWQYBiABKA0SKAoLZW52aXJvbm1lbnQYByABKAsyEy5hcGkudjEuRW52aXJvbm1lbnQSGgoSYWlfd29ya2Zsb3dfcnVuX2lkGAggASgNEi4KD2FpX3dvcmtmbG93X3J1bhgJIAEoCzIVLmFwaS52MS5BSVdvcmtmbG93UnVuQgYKBF91cmxCCwoJX2xvZ3NfdXJsQhAKDl9tZXRhZGF0YV9qc29uIvwBCgdUZXN0UnVuEgoKAmlkGAEgASgNEgwKBHR5cGUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhYKCWZyYW1ld29yaxgEIAEoCUgAiAEBEhcKCnJlcG9ydF91cmwYBSABKAlIAYgBARIZCgxyZXN1bHRzX2pzb24YBiABKAlIAogBARIbChNhaV93b3JrZmxvd191bml0X2lkGAcgASgNEjAKEGFpX3dvcmtmbG93X3VuaXQYCCABKAsyFi5hcGkudjEuQUlXb3JrZmxvd1VuaXRCDAoKX2ZyYW1ld29ya0INCgtfcmVwb3J0X3VybEIPCg1fcmVzdWx0c19qc29uIsQCCgtBY3Rpdml0eUxvZxIKCgJpZBgBIAEoDRIOCgZhY3Rpb24YAiABKAkSEwoLZW50aXR5X3R5cGUYAyABKAkSEQoJZW50aXR5X2lkGAQgASgNEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhoKDW1ldGFkYXRhX2pzb24YBiABKAlIAIgBARIXCgppcF9hZGRyZXNzGAcgASgJSAGIAQESFAoHdXNlcl9pZBgIIAEoDUgCiAEBEhoKBHVzZXIYCSABKAsyDC5hcGkudjEuVXNlchIXCgpwcm9qZWN0X2lkGAogASgNSAOIAQESIAoHcHJvamVjdBgLIAEoCzIPLmFwaS52MS5Qcm9qZWN0QhAKDl9tZXRhZGF0YV9qc29uQg0KC19pcF9hZGRyZXNzQgoKCF91c2VyX2lkQg0KC19wcm9qZWN0X2lkIocDCgxOb3RpZmljYXRpb24SCgoCaWQYASABKA0SDQoFdGl0bGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIZChFub3RpZmljYXRpb25fdHlwZRgEIAEoCRIYCgtlbnRpdHlfdHlwZRgFIAEoCUgAiAEBEhYKCWVudGl0eV9pZBgGIAEoDUgBiAEBEhcKCmFjdGlvbl91cmwYByABKAlIAogBARIPCgdpc19yZWFkGAggASgIEhYKDnNlbnRfdmlhX2VtYWlsGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIA4gBARIPCgd1c2VyX2lkGAsgASgNEhoKBHVzZXIYDCABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGA0gASgNEiAKB2NvbXBhbnkYDiABKAsyDy5hcGkudjEuQ29tcGFueUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEINCgtfYWN0aW9uX3VybEIQCg5fbWV0YWRhdGFfanNvbiJbCgdDb3VudHJ5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSEAoIaXNvX2NvZGUYAyABKAkSEQoJaXNvX2NvZGUyGAQgASgJEhEKCWRpYWxfY29kZRgFIAEoCSL1BAoIRG9jdW1lbnQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIQCghmaWxlbmFtZRgCIAEoCRIRCgltaW1lX3R5cGUYAyABKAkSDAoEc2l6ZRgEIAEoAxITCgtzdG9yYWdlX3VybBgFIAEoCRITCgZzaGEyNTYYBiABKAlIAIgBARIWCglkaXNrX25hbWUYByABKAlIAYgBARIRCgRraW5kGAggASgJSAKIAQESEQoJaXNfZm9sZGVyGAkgASgIEhYKCWZ1bGxfcGF0aBgKIAEoCUgDiAEBEh0KEHBhcmVudF9mb2xkZXJfaWQYCyABKA1IBIgBARInCg1wYXJlbnRfZm9sZGVyGAwgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCnByb2plY3RfaWQYDSABKA0SIAoHcHJvamVjdBgOIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhIKCmNvbXBhbnlfaWQYDyABKA0SIAoHY29tcGFueRgQIAEoCzIPLmFwaS52MS5Db21wYW55EhsKE3VwbG9hZGVkX2J5X3VzZXJfaWQYESABKA0SJgoQdXBsb2FkZWRfYnlfdXNlchgSIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB19zaGEyNTZCDAoKX2Rpc2tfbmFtZUIHCgVfa2luZEIMCgpfZnVsbF9wYXRoQhMKEV9wYXJlbnRfZm9sZGVyX2lkIt0BCgxEb2N1bWVudExpbmsSCgoCaWQYASABKA0SEQoJbGlua19raW5kGAIgASgJEg8KB2xpbmtfaWQYAyABKA0SEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDRIgCgdjb21wYW55GAcgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiiAIKB1dvcmtMb2cSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSDwoHdXNlcl9pZBgEIAEoDRIaCgR1c2VyGAUgASgLMgwuYXBpLnYxLlVzZXISDQoFaG91cnMYBiABKAESGAoLZGVzY3JpcHRpb24YByABKAlIAIgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb24ihwMKCU1pbGVzdG9uZRIKCgJpZBgBIAEoDRIMCgR1dWlkGAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIzCgpzdGFydF9kYXRlGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjEKCGVuZF9kYXRlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEg4KBnN0YXR1cxgHIAEoCRISCgpwcm9qZWN0X2lkGAggASgNEiAKB3Byb2plY3QYCSABKAsyDy5hcGkudjEuUHJvamVjdBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlIpgBCg1NaWxlc3RvbmVUYXNrEgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEg8KB3Rhc2tfaWQYBCABKA0SGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhIKCmNvbXBhbnlfaWQYBiABKA0ipgEKEE1pbGVzdG9uZURvY1BhZ2USCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jX3BhZ2VfaWQYBCABKA0SIQoIZG9jX3BhZ2UYBSABKAsyDy5hcGkudjEuRG9jUGFnZRISCgpjb21wYW55X2lkGAYgASgNIscBChNNaWxlc3RvbmVSZXBvc2l0b3J5EgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgEIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYBSABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkSEgoKY29tcGFueV9pZBgGIAEoDSKoAQoRTWlsZXN0b25lRG9jdW1lbnQSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDSLZBAoKSW5pdGlhdGl2ZRIKCgJpZBgBIAEoDRIMCgR1dWlkGAIgASgJEg0KBXRpdGxlGAMgASgJEhQKB3N1bW1hcnkYBCABKAlIAIgBARIOCgZzdGF0dXMYBSABKAkSEQoJY29yZV9pZGVhGAYgASgJEh4KFmNvcmVfaWRlYV9jb250ZW50X3R5cGUYByABKAkSEwoLYW5jaG9yX3R5cGUYCCABKAkSFgoJYW5jaG9yX2lkGAkgASgNSAGIAQESEgoKcHJvamVjdF9pZBgKIAEoDRIgCgdwcm9qZWN0GAsgASgLMg8uYXBpLnYxLlByb2plY3QSEgoKY29tcGFueV9pZBgMIAEoDRIaChJjcmVhdGVkX2J5X3VzZXJfaWQYDSABKA0SJQoPY3JlYXRlZF9ieV91c2VyGA4gASgLMgwuYXBpLnYxLlVzZXISGgoSdXBkYXRlZF9ieV91c2VyX2lkGA8gASgNEiUKD3VwZGF0ZWRfYnlfdXNlchgQIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhsKBXRhc2tzGBMgAygLMgwuYXBpLnYxLlRhc2sSNQoObWVtb3J5X2VudHJpZXMYFCADKAsyHS5hcGkudjEuSW5pdGlhdGl2ZU1lbW9yeUVudHJ5QgoKCF9zdW1tYXJ5QgwKCl9hbmNob3JfaWQiiwMKFUluaXRpYXRpdmVNZW1vcnlFbnRyeRIKCgJpZBgBIAEoDRIVCg1pbml0aWF0aXZlX2lkGAIgASgNEhIKCmNvbXBhbnlfaWQYAyABKA0SDAoEa2luZBgEIAEoCRIMCgRib2R5GAUgASgJEhQKDGNvbnRlbnRfdHlwZRgGIAEoCRIbCg5hdXRob3JfdXNlcl9pZBgHIAEoDUgAiAEBEiEKC2F1dGhvcl91c2VyGAggASgLMgwuYXBpLnYxLlVzZXISEAoIaXNfYWdlbnQYCSABKAgSEQoJaXNfc3lzdGVtGAogASgIEhMKC3NvdXJjZV90eXBlGAsgASgJEhYKCXNvdXJjZV9pZBgMIAEoDUgBiAEBEhcKCnNvdXJjZV91cmwYDSABKAlIAogBARIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIRCg9fYXV0aG9yX3VzZXJfaWRCDAoKX3NvdXJjZV9pZEINCgtfc291cmNlX3VybCKkAgoOVGFza0RlcGVuZGVuY3kSCgoCaWQYASABKA0SFAoMZnJvbV90YXNrX2lkGAIgASgNEh8KCWZyb21fdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEhIKCnRvX3Rhc2tfaWQYBCABKA0SHQoHdG9fdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEigKBHR5cGUYBiABKA4yGi5hcGkudjEuVGFza0RlcGVuZGVuY3lUeXBlEhIKCmNvbXBhbnlfaWQYByABKA0SLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi3QEKF1Rhc2tBY2NlcHRhbmNlQ3JpdGVyaW9uEgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SDAoEdGV4dBgDIAEoCRIMCgRkb25lGAQgASgIEhUKDWRpc3BsYXlfb3JkZXIYBSABKAUSEgoKY29tcGFueV9pZBgGIAEoDRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCrKAQoSVGFza0RlcGVuZGVuY3lUeXBlEiQKIFRBU0tfREVQRU5ERU5DWV9UWVBFX1VOU1BFQ0lGSUVEEAASHwobVEFTS19ERVBFTkRFTkNZX1RZUEVfQkxPQ0tTEAESIwofVEFTS19ERVBFTkRFTkNZX1RZUEVfQkxPQ0tFRF9CWRACEiMKH1RBU0tfREVQRU5ERU5DWV9UWVBFX0RVUExJQ0FURVMQAxIjCh9UQVNLX0RFUEVOREVOQ1lfVFlQRV9SRUxBVEVTX1RPEARCcAoKY29tLmFwaS52MUILTW9kZWxzUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_protobuf_timestamp, file_api_v1_vcs]);
|
|
13
|
+
fileDesc("ChNhcGkvdjEvbW9kZWxzLnByb3RvEgZhcGkudjEiJgoKUGVybWlzc2lvbhIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJImgKBFJvbGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIdCgdwYXJlbnRzGAMgAygLMgwuYXBpLnYxLlJvbGUSJwoLcGVybWlzc2lvbnMYBCADKAsyEi5hcGkudjEuUGVybWlzc2lvbiLhAgoEVXNlchIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEg0KBWVtYWlsGAIgASgJEhIKCmZpcnN0X25hbWUYAyABKAkSEQoJbGFzdF9uYW1lGAQgASgJEhEKCWZ1bGxfbmFtZRgFIAEoCRIVCg1wcm92aWRlcl9uYW1lGAYgASgJEhsKBXJvbGVzGAcgAygLMgwuYXBpLnYxLlJvbGUSJQoPZmxhdHRlbmVkX3JvbGVzGAggAygLMgwuYXBpLnYxLlJvbGUSEgoKY3JlYXRlZF9hdBgJIAEoCRISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueRINCgVwaG9uZRgMIAEoCRIYChBwaG9uZV9jb3VudHJ5X2lkGA0gASgNEhIKCmF2YXRhcl91cmwYDiABKAkSFAoMYXZhdGFyX2NvbG9yGA8gASgJItAECgdDb21wYW55EgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESGAoLd2Vic2l0ZV91cmwYBSABKAlIAYgBARIVCghpbmR1c3RyeRgGIAEoCUgCiAEBEhEKBHNpemUYByABKAlIA4gBARIaCg1zZXR0aW5nc19qc29uGAggASgJSASIAQESEQoJaXNfYWN0aXZlGAkgASgIEhoKDWJpbGxpbmdfZW1haWwYCiABKAlIBYgBARIUCgdhZGRyZXNzGAsgASgJSAaIAQESFQoIYWRkcmVzczIYDCABKAlIB4gBARIRCgRjaXR5GA0gASgJSAiIAQESEgoFc3RhdGUYDiABKAlICYgBARIVCgh6aXBfY29kZRgPIAEoCUgKiAEBEhcKCmNvdW50cnlfaWQYECABKA1IC4gBARITCgZ0YXhfaWQYESABKAlIDIgBARIgCgdjb3VudHJ5GBIgASgLMg8uYXBpLnYxLkNvdW50cnlCDgoMX2Rlc2NyaXB0aW9uQg4KDF93ZWJzaXRlX3VybEILCglfaW5kdXN0cnlCBwoFX3NpemVCEAoOX3NldHRpbmdzX2pzb25CEAoOX2JpbGxpbmdfZW1haWxCCgoIX2FkZHJlc3NCCwoJX2FkZHJlc3MyQgcKBV9jaXR5QggKBl9zdGF0ZUILCglfemlwX2NvZGVCDQoLX2NvdW50cnlfaWRCCQoHX3RheF9pZCLkBAoMU3Vic2NyaXB0aW9uEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKY29tcGFueV9pZBgCIAEoDRIaChJzdHJpcGVfY3VzdG9tZXJfaWQYAyABKAkSIwoWc3RyaXBlX3N1YnNjcmlwdGlvbl9pZBgEIAEoCUgAiAEBEg4KBnN0YXR1cxgFIAEoCRI9ChRjdXJyZW50X3BlcmlvZF9zdGFydBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChJjdXJyZW50X3BlcmlvZF9lbmQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESHgoRcGF5bWVudF9tZXRob2RfaWQYCCABKA1IA4gBARInCgVpdGVtcxgJIAMoCzIYLmFwaS52MS5TdWJzY3JpcHRpb25JdGVtEi0KDnBheW1lbnRfbWV0aG9kGAogASgLMhUuYXBpLnYxLlBheW1lbnRNZXRob2QSIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhkKF19zdHJpcGVfc3Vic2NyaXB0aW9uX2lkQhcKFV9jdXJyZW50X3BlcmlvZF9zdGFydEIVChNfY3VycmVudF9wZXJpb2RfZW5kQhQKEl9wYXltZW50X21ldGhvZF9pZCKAAgoQU3Vic2NyaXB0aW9uSXRlbRIKCgJpZBgBIAEoDRIXCg9zdWJzY3JpcHRpb25faWQYAiABKA0SFAoMcHJvZHVjdF90eXBlGAMgASgJEhAKCHF1YW50aXR5GAQgASgFEhIKCnVuaXRfcHJpY2UYBSABKAMSGAoQYmlsbGluZ19pbnRlcnZhbBgGIAEoCRIRCglpc19hY3RpdmUYByABKAgSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixAIKDVBheW1lbnRNZXRob2QSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRISCgpjb21wYW55X2lkGAIgASgNEhgKEHN0cmlwZV9tZXRob2RfaWQYAyABKAkSDAoEdHlwZRgEIAEoCRINCgVsYXN0NBgFIAEoCRINCgVicmFuZBgGIAEoCRIUCgxleHBpcnlfbW9udGgYByABKAUSEwoLZXhwaXJ5X3llYXIYCCABKAUSEgoKaXNfZGVmYXVsdBgJIAEoCBIgCgdjb21wYW55GAogASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAioAIKDVByb2R1Y3RDb25maWcSCgoCaWQYASABKA0SFAoMcHJvZHVjdF90eXBlGAIgASgJEhUKDW1vbnRobHlfcHJpY2UYAyABKAMSFAoMeWVhcmx5X3ByaWNlGAQgASgDEhUKDWZyZWVfcXVhbnRpdHkYBSABKAUSFAoMaXNfcmVjdXJyaW5nGAYgASgIEhkKEXN0cmlwZV9tb250aGx5X2lkGAcgASgJEhgKEHN0cmlwZV95ZWFybHlfaWQYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAIKDkNvbXBhbnlDcmVkaXRzEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SFQoNdG90YWxfY3JlZGl0cxgDIAEoBRIUCgx1c2VkX2NyZWRpdHMYBCABKAUSGQoRYXZhaWxhYmxlX2NyZWRpdHMYBSABKAUSOgoRbGFzdF9hbGxvY2F0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIAoHY29tcGFueRgHIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhQKEl9sYXN0X2FsbG9jYXRlZF9hdCKjAgoRQ3JlZGl0VHJhbnNhY3Rpb24SCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAUSDgoGcmVhc29uGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgJSAGIAQESGgoNbWV0YWRhdGFfanNvbhgHIAEoCUgCiAEBEiAKB2NvbXBhbnkYCCABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEIQCg5fbWV0YWRhdGFfanNvbiL0AQoHUHJvamVjdBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSDAoEc2x1ZxgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgFIAEoCBIaCg1zZXR0aW5nc19qc29uGAYgASgJSAGIAQESEgoKY29tcGFueV9pZBgHIAEoDRIgCgdjb21wYW55GAggASgLMg8uYXBpLnYxLkNvbXBhbnkSEgoKc2hvcnRfbmFtZRgJIAEoCUIOCgxfZGVzY3JpcHRpb25CEAoOX3NldHRpbmdzX2pzb24ipQEKEVByb2plY3RNZW1iZXJzaGlwEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSEwoLaXNfZmF2b3JpdGUYAyABKAgSEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSDwoHdXNlcl9pZBgGIAEoDRIaCgR1c2VyGAcgASgLMgwuYXBpLnYxLlVzZXIiwgIKCERvY1NwYWNlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgppc19kZWZhdWx0GAUgASgIEhMKC2lzX2FyY2hpdmVkGAYgASgIEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgJIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYCiABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYCyABKA0SJQoPdXBkYXRlZF9ieV91c2VyGAwgASgLMgwuYXBpLnYxLlVzZXJCDgoMX2Rlc2NyaXB0aW9uIvkDCgdEb2NQYWdlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSFwoPY3VycmVudF9jb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIeChZjdXJyZW50X3ZlcnNpb25fbnVtYmVyGAYgASgFEg8KB2lzX3Jvb3QYByABKAgSEwoLaXNfYXJjaGl2ZWQYCCABKAgSFQoNZGlzcGxheV9vcmRlchgJIAEoBRIjCglkb2Nfc3BhY2UYCyABKAsyEC5hcGkudjEuRG9jU3BhY2USGwoOcGFyZW50X3BhZ2VfaWQYDCABKA1IAIgBARIkCgtwYXJlbnRfcGFnZRgNIAEoCzIPLmFwaS52MS5Eb2NQYWdlEiQKC2NoaWxkX3BhZ2VzGA4gAygLMg8uYXBpLnYxLkRvY1BhZ2USGgoSY3JlYXRlZF9ieV91c2VyX2lkGA8gASgNEiUKD2NyZWF0ZWRfYnlfdXNlchgQIAEoCzIMLmFwaS52MS5Vc2VyEhoKEnVwZGF0ZWRfYnlfdXNlcl9pZBgRIAEoDRIlCg91cGRhdGVkX2J5X3VzZXIYEiABKAsyDC5hcGkudjEuVXNlckIRCg9fcGFyZW50X3BhZ2VfaWRKBAgKEAtSDGRvY19zcGFjZV9pZCL1AgoORG9jUGFnZVZlcnNpb24SCgoCaWQYASABKA0SFgoOdmVyc2lvbl9udW1iZXIYAiABKAUSDQoFdGl0bGUYAyABKAkSDwoHY29udGVudBgEIAEoCRIUCgxjb250ZW50X3R5cGUYBSABKAkSGwoOY2hhbmdlX3N1bW1hcnkYBiABKAlIAIgBARITCgtkb2NfcGFnZV9pZBgHIAEoDRIhCghkb2NfcGFnZRgIIAEoCzIPLmFwaS52MS5Eb2NQYWdlEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgJIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYCiABKAsyDC5hcGkudjEuVXNlchIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIRCg9fY2hhbmdlX3N1bW1hcnkikAgKDlZDU0ludGVncmF0aW9uEgoKAmlkGAEgASgNEhIKCnJlcG9fb3duZXIYAiABKAkSEQoJcmVwb19uYW1lGAMgASgJEhcKD3Rva2VuX2VuY3J5cHRlZBgEIAEoCRIWCg5kZWZhdWx0X2JyYW5jaBgFIAEoCRIbCg53ZWJob29rX3NlY3JldBgGIAEoCUgAiAEBEh0KEHBlcm1pc3Npb25zX2pzb24YByABKAlIAYgBARIRCglpc19hY3RpdmUYCCABKAgSEgoKcHJvamVjdF9pZBgJIAEoDRIgCgdwcm9qZWN0GAogASgLMg8uYXBpLnYxLlByb2plY3QSHAoPaW5zdGFsbGF0aW9uX2lkGAsgASgDSAKIAQESEwoGYXBwX2lkGAwgASgJSAOIAQESKQocaW5zdGFsbGF0aW9uX3Rva2VuX2VuY3J5cHRlZBgNIAEoCUgEiAEBEkYKHWluc3RhbGxhdGlvbl90b2tlbl9leHBpcmVzX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEhgKC29hdXRoX3N0YXRlGA8gASgJSAaIAQESGAoQYXV0b19zeW5jX2lzc3VlcxgQIAEoCBIaChJlbmFibGVfcHJfd2ViaG9va3MYESABKAgSJQoIcHJvdmlkZXIYHiABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXISGQoMaW5zdGFuY2VfdXJsGB8gASgJSAeIAQESIwoWYWNjZXNzX3Rva2VuX2VuY3J5cHRlZBggIAEoCUgIiAEBEiQKF3JlZnJlc2hfdG9rZW5fZW5jcnlwdGVkGCEgASgJSAmIAQESOQoQdG9rZW5fZXhwaXJlc19hdBgiIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBICogBARIcCg9naXRsYWJfZ3JvdXBfaWQYIyABKANIC4gBARIbCg5naXRsYWJfdXNlcl9pZBgkIAEoA0gMiAEBQhEKD193ZWJob29rX3NlY3JldEITChFfcGVybWlzc2lvbnNfanNvbkISChBfaW5zdGFsbGF0aW9uX2lkQgkKB19hcHBfaWRCHwodX2luc3RhbGxhdGlvbl90b2tlbl9lbmNyeXB0ZWRCIAoeX2luc3RhbGxhdGlvbl90b2tlbl9leHBpcmVzX2F0Qg4KDF9vYXV0aF9zdGF0ZUIPCg1faW5zdGFuY2VfdXJsQhkKF19hY2Nlc3NfdG9rZW5fZW5jcnlwdGVkQhoKGF9yZWZyZXNoX3Rva2VuX2VuY3J5cHRlZEITChFfdG9rZW5fZXhwaXJlc19hdEISChBfZ2l0bGFiX2dyb3VwX2lkQhEKD19naXRsYWJfdXNlcl9pZCLQBAoRUHJvamVjdFJlcG9zaXRvcnkSCgoCaWQYASABKA0SEgoKcHJvamVjdF9pZBgCIAEoDRIgCgdwcm9qZWN0GAMgASgLMg8uYXBpLnYxLlByb2plY3QSGgoSdmNzX2ludGVncmF0aW9uX2lkGAQgASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgFIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIVCg1yZXBvc2l0b3J5X2lkGAYgASgDEhgKEHJlcG9zaXRvcnlfb3duZXIYByABKAkSFwoPcmVwb3NpdG9yeV9uYW1lGAggASgJEhwKFHJlcG9zaXRvcnlfZnVsbF9uYW1lGAkgASgJEhYKDmRlZmF1bHRfYnJhbmNoGAogASgJEhIKCmlzX3ByaXZhdGUYCyABKAgSGAoLZGVzY3JpcHRpb24YDCABKAlIAIgBARILCgN1cmwYDSABKAkSEQoJaXNfYWN0aXZlGA4gASgIEi4KCmNyZWF0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhgKEGF1dG9fc3luY19pc3N1ZXMYESABKAgSGgoSZW5hYmxlX3ByX3dlYmhvb2tzGBIgASgIEiUKCHByb3ZpZGVyGBMgASgOMhMuYXBpLnYxLlZDU1Byb3ZpZGVyEhEKCWNsb25lX3VybBgUIAEoCUIOCgxfZGVzY3JpcHRpb24iuQEKBUJvYXJkEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAUSEQoJaXNfYWN0aXZlGAUgASgIEhIKCnByb2plY3RfaWQYBiABKA0SIAoHcHJvamVjdBgHIAEoCzIPLmFwaS52MS5Qcm9qZWN0Qg4KDF9kZXNjcmlwdGlvbiKOAgoFQ3ljbGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIRCgRnb2FsGAMgASgJSACIAQESLgoKc3RhcnRfZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLAoIZW5kX2RhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCnByb2plY3RfaWQYBiABKA0SIAoHcHJvamVjdBgHIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhEKCWlzX2FjdGl2ZRgIIAEoCBIYCgtkZXNjcmlwdGlvbhgJIAEoCUgBiAEBQgcKBV9nb2FsQg4KDF9kZXNjcmlwdGlvbiLfAQoLQm9hcmRDb2x1bW4SCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIMCgRuYW1lGAIgASgJEhUKDWRpc3BsYXlfb3JkZXIYAyABKAUSEgoFY29sb3IYBCABKAlIAIgBARIcCg9saWZlY3ljbGVfc3RhdGUYBSABKAlIAYgBARIRCglpc19hY3RpdmUYBiABKAgSEAoIYm9hcmRfaWQYByABKA0SHAoFYm9hcmQYCCABKAsyDS5hcGkudjEuQm9hcmRCCAoGX2NvbG9yQhIKEF9saWZlY3ljbGVfc3RhdGUivgEKCFRhc2tUeXBlEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSEgoFY29sb3IYAyABKAlIAIgBARIRCgRpY29uGAQgASgJSAGIAQESEgoKcHJvamVjdF9pZBgFIAEoDRIgCgdwcm9qZWN0GAYgASgLMg8uYXBpLnYxLlByb2plY3QSFQoNZGlzcGxheV9vcmRlchgHIAEoBRIRCglpc19hY3RpdmUYCCABKAhCCAoGX2NvbG9yQgcKBV9pY29uIp4BCgxUYXNrUHJpb3JpdHkSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRINCgVsZXZlbBgDIAEoBRISCgVjb2xvchgEIAEoCUgAiAEBEhIKCnByb2plY3RfaWQYBSABKA0SIAoHcHJvamVjdBgGIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhEKCWlzX2FjdGl2ZRgHIAEoCEIICgZfY29sb3IiowEKBUxhYmVsEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSDQoFY29sb3IYAyABKAkSEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSGAoLZGVzY3JpcHRpb24YBiABKAlIAIgBARIRCglpc19hY3RpdmUYByABKAhCDgoMX2Rlc2NyaXB0aW9uIuUBCglDb21wb25lbnQSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhIKCnByb2plY3RfaWQYBCABKA0SIAoHcHJvamVjdBgFIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhkKDGxlYWRfdXNlcl9pZBgGIAEoDUgBiAEBEh8KCWxlYWRfdXNlchgHIAEoCzIMLmFwaS52MS5Vc2VyEhEKCWlzX2FjdGl2ZRgIIAEoCEIOCgxfZGVzY3JpcHRpb25CDwoNX2xlYWRfdXNlcl9pZCLiDgoEVGFzaxIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEhIKCmlkZW50aWZpZXIYAiABKAkSDQoFdGl0bGUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIVCg1kaXNwbGF5X29yZGVyGAUgASgJEhkKDHN0b3J5X3BvaW50cxgGIAEoBUgBiAEBEhwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUgCiAEBEhkKDGFjdHVhbF9ob3VycxgIIAEoAUgDiAEBEiwKCGR1ZV9kYXRlGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9haV9tb2RlX2VuYWJsZWQYCiABKAgSGgoNbWV0YWRhdGFfanNvbhgLIAEoCUgEiAEBEhAKCGJvYXJkX2lkGAwgASgNEhwKBWJvYXJkGA0gASgLMg0uYXBpLnYxLkJvYXJkEhcKD2JvYXJkX2NvbHVtbl9pZBgOIAEoDRIpCgxib2FyZF9jb2x1bW4YDyABKAsyEy5hcGkudjEuQm9hcmRDb2x1bW4SEgoKcHJvamVjdF9pZBgQIAEoDRIgCgdwcm9qZWN0GBEgASgLMg8uYXBpLnYxLlByb2plY3QSFAoMdGFza190eXBlX2lkGBIgASgNEiMKCXRhc2tfdHlwZRgTIAEoCzIQLmFwaS52MS5UYXNrVHlwZRIYChB0YXNrX3ByaW9yaXR5X2lkGBQgASgNEisKDXRhc2tfcHJpb3JpdHkYFSABKAsyFC5hcGkudjEuVGFza1ByaW9yaXR5EhgKEHJlcG9ydGVyX3VzZXJfaWQYFiABKA0SIwoNcmVwb3J0ZXJfdXNlchgXIAEoCzIMLmFwaS52MS5Vc2VyEh0KEGFzc2lnbmVkX3VzZXJfaWQYGCABKA1IBYgBARIjCg1hc3NpZ25lZF91c2VyGBkgASgLMgwuYXBpLnYxLlVzZXISGwoOcGFyZW50X3Rhc2tfaWQYGiABKA1IBogBARIhCgtwYXJlbnRfdGFzaxgbIAEoCzIMLmFwaS52MS5UYXNrEhIKCmNvbXBhbnlfaWQYHCABKA0SIAoHY29tcGFueRgdIAEoCzIPLmFwaS52MS5Db21wYW55EiYKC3Rhc2tfbGFiZWxzGB4gAygLMhEuYXBpLnYxLlRhc2tMYWJlbBIuCg90YXNrX2NvbXBvbmVudHMYHyADKAsyFS5hcGkudjEuVGFza0NvbXBvbmVudBIyChF0YXNrX2NvbnRyaWJ1dG9ycxggIAMoCzIXLmFwaS52MS5UYXNrQ29udHJpYnV0b3ISMQoRdGFza19yZXBvc2l0b3JpZXMYISADKAsyFi5hcGkudjEuVGFza1JlcG9zaXRvcnkSMwoSdGFza19wdWxsX3JlcXVlc3RzGCIgAygLMhcuYXBpLnYxLlRhc2tQdWxsUmVxdWVzdBIVCghjeWNsZV9pZBgjIAEoDUgHiAEBEhwKBWN5Y2xlGCQgASgLMg0uYXBpLnYxLkN5Y2xlEiIKCXdvcmtfbG9ncxglIAMoCzIPLmFwaS52MS5Xb3JrTG9nEjQKC3Jlc29sdmVkX2F0GCYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgIiAEBEisKDnRhc2tfZG9jX3BhZ2VzGCcgAygLMhMuYXBpLnYxLlRhc2tEb2NQYWdlEiwKDnRhc2tfZG9jdW1lbnRzGCggAygLMhQuYXBpLnYxLlRhc2tEb2N1bWVudBIuCgpjcmVhdGVkX2F0GCkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GCogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIkCgltaWxlc3RvbmUYKyABKAsyES5hcGkudjEuTWlsZXN0b25lEjoKGnRhc2tfZGVwZW5kZW5jaWVzX291dGdvaW5nGCwgAygLMhYuYXBpLnYxLlRhc2tEZXBlbmRlbmN5EjoKGnRhc2tfZGVwZW5kZW5jaWVzX2luY29taW5nGC0gAygLMhYuYXBpLnYxLlRhc2tEZXBlbmRlbmN5EhkKDG1pbGVzdG9uZV9pZBguIAEoDUgJiAEBEhoKDWluaXRpYXRpdmVfaWQYLyABKA1ICogBARImCgppbml0aWF0aXZlGDAgASgLMhIuYXBpLnYxLkluaXRpYXRpdmUSFQoNY29tbWVudF9jb3VudBgxIAEoDUIOCgxfZGVzY3JpcHRpb25CDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQg8KDV9hY3R1YWxfaG91cnNCEAoOX21ldGFkYXRhX2pzb25CEwoRX2Fzc2lnbmVkX3VzZXJfaWRCEQoPX3BhcmVudF90YXNrX2lkQgsKCV9jeWNsZV9pZEIOCgxfcmVzb2x2ZWRfYXRCDwoNX21pbGVzdG9uZV9pZEIQCg5faW5pdGlhdGl2ZV9pZCJ0CglUYXNrTGFiZWwSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSEAoIbGFiZWxfaWQYBCABKA0SHAoFbGFiZWwYBSABKAsyDS5hcGkudjEuTGFiZWwihQEKD1Rhc2tDb250cmlidXRvchIKCgJpZBgBIAEoDRIMCgRyb2xlGAIgASgJEg8KB3Rhc2tfaWQYAyABKA0SGgoEdGFzaxgEIAEoCzIMLmFwaS52MS5UYXNrEg8KB3VzZXJfaWQYBSABKA0SGgoEdXNlchgGIAEoCzIMLmFwaS52MS5Vc2VyIoQBCg1UYXNrQ29tcG9uZW50EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoEdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEhQKDGNvbXBvbmVudF9pZBgEIAEoDRIkCgljb21wb25lbnQYBSABKAsyES5hcGkudjEuQ29tcG9uZW50ItABCg5UYXNrUmVwb3NpdG9yeRIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKEnZjc19pbnRlZ3JhdGlvbl9pZBgEIAEoDRIvCg92Y3NfaW50ZWdyYXRpb24YBSABKAsyFi5hcGkudjEuVkNTSW50ZWdyYXRpb24SHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAYgASgNEjUKEnByb2plY3RfcmVwb3NpdG9yeRgHIAEoCzIZLmFwaS52MS5Qcm9qZWN0UmVwb3NpdG9yeSJ2CgtUYXNrRG9jUGFnZRIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhMKC2RvY19wYWdlX2lkGAMgASgNEiEKCGRvY19wYWdlGAQgASgLMg8uYXBpLnYxLkRvY1BhZ2USEgoKY29tcGFueV9pZBgFIAEoDSJ4CgxUYXNrRG9jdW1lbnQSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRITCgtkb2N1bWVudF9pZBgDIAEoDRIiCghkb2N1bWVudBgEIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpjb21wYW55X2lkGAUgASgNIsUDCg9UYXNrUHVsbFJlcXVlc3QSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAyABKA0SNQoScHJvamVjdF9yZXBvc2l0b3J5GAQgASgLMhkuYXBpLnYxLlByb2plY3RSZXBvc2l0b3J5EhEKCXByX251bWJlchgFIAEoBRINCgV0aXRsZRgGIAEoCRILCgN1cmwYByABKAkSDQoFc3RhdGUYCCABKAkSJQoIcHJvdmlkZXIYCSABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXISDgoGYXV0aG9yGAogASgJEg0KBWRyYWZ0GAsgASgIEhAKCGhlYWRfc2hhGAwgASgJEhMKC2hlYWRfYnJhbmNoGA0gASgJEhMKC2Jhc2VfYnJhbmNoGA4gASgJEhgKEG1lcmdlX2NvbW1pdF9zaGEYDyABKAkSEQoJYWRkaXRpb25zGBAgASgFEhEKCWRlbGV0aW9ucxgRIAEoBRIQCghjaV9zdGF0ZRgSIAEoCRIbChNjaV9mYWlsaW5nX2NvbnRleHRzGBMgAygJEhAKCGNpX3RvdGFsGBQgASgFIt8DCgdDb21tZW50EgoKAmlkGAEgASgNEg8KB2NvbnRlbnQYAiABKAkSEwoLaXNfaW50ZXJuYWwYAyABKAgSFAoHdGFza19pZBgEIAEoDUgAiAEBEhoKBHRhc2sYBSABKAsyDC5hcGkudjEuVGFzaxIYCgtkb2NfcGFnZV9pZBgGIAEoDUgBiAEBEiEKCGRvY19wYWdlGAcgASgLMg8uYXBpLnYxLkRvY1BhZ2USDwoHdXNlcl9pZBgIIAEoDRIaCgR1c2VyGAkgASgLMgwuYXBpLnYxLlVzZXISEgoKY29tcGFueV9pZBgKIAEoDRIgCgdjb21wYW55GAsgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGgoNaW5pdGlhdGl2ZV9pZBgOIAEoDUgCiAEBEiYKCmluaXRpYXRpdmUYDyABKAsyEi5hcGkudjEuSW5pdGlhdGl2ZUIKCghfdGFza19pZEIOCgxfZG9jX3BhZ2VfaWRCEAoOX2luaXRpYXRpdmVfaWQi0AEKEFRhc2tTdWJzY3JpcHRpb24SCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIPCgd1c2VyX2lkGAMgASgNEhoKBHVzZXIYBCABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGAUgASgNEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIvwCCgpBdHRhY2htZW50EgoKAmlkGAEgASgNEhAKCGZpbGVuYW1lGAIgASgJEhEKCWZpbGVfc2l6ZRgDIAEoAxIRCgltaW1lX3R5cGUYBCABKAkSFAoMc3RvcmFnZV9wYXRoGAUgASgJEhcKCnB1YmxpY191cmwYBiABKAlIAIgBARIUCgd0YXNrX2lkGAcgASgNSAGIAQESGgoEdGFzaxgIIAEoCzIMLmFwaS52MS5UYXNrEhgKC2RvY19wYWdlX2lkGAkgASgNSAKIAQESIQoIZG9jX3BhZ2UYCiABKAsyDy5hcGkudjEuRG9jUGFnZRIPCgd1c2VyX2lkGAsgASgNEhoKBHVzZXIYDCABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGA0gASgNEiAKB2NvbXBhbnkYDiABKAsyDy5hcGkudjEuQ29tcGFueUINCgtfcHVibGljX3VybEIKCghfdGFza19pZEIOCgxfZG9jX3BhZ2VfaWQiUQoLQUlSdW5TdGF0dXMSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiJoCgtBSVVuaXRTdGFnZRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFQoNZGlzcGxheV9vcmRlchgEIAEoBUIOCgxfZGVzY3JpcHRpb24iUgoMQUlVbml0U3RhdHVzEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24iVAoOQUlVbml0Q2F0ZWdvcnkSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiLoBQoNQUlXb3JrZmxvd1J1bhIKCgJpZBgBIAEoDRIdChVhaV9jcmVkaXRzX3VzZWRfdG90YWwYAiABKAUSGgoNbWV0YWRhdGFfanNvbhgDIAEoCUgAiAEBEg8KB3Rhc2tfaWQYBCABKA0SGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhwKFHRyaWdnZXJlZF9ieV91c2VyX2lkGAYgASgNEicKEXRyaWdnZXJlZF9ieV91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISGAoQYWlfcnVuX3N0YXR1c19pZBgIIAEoDRIqCg1haV9ydW5fc3RhdHVzGAkgASgLMhMuYXBpLnYxLkFJUnVuU3RhdHVzEh0KEGN1cnJlbnRfc3RhZ2VfaWQYCiABKA1IAYgBARIqCg1jdXJyZW50X3N0YWdlGAsgASgLMhMuYXBpLnYxLkFJVW5pdFN0YWdlEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBG5hbWUYDiABKAkSMwoKc3RhcnRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARI1Cgxjb21wbGV0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESIgoVcmVzdGFydGVkX2Zyb21fcnVuX2lkGBEgASgNSASIAQESGgoNc291cmNlX2JyYW5jaBgSIAEoCUgFiAEBQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9jdXJyZW50X3N0YWdlX2lkQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCGAoWX3Jlc3RhcnRlZF9mcm9tX3J1bl9pZEIQCg5fc291cmNlX2JyYW5jaCL7BwoOQUlXb3JrZmxvd1VuaXQSCgoCaWQYASABKA0SFgoOc2VxdWVuY2Vfb3JkZXIYAiABKAUSGAoQd29ya19kZXNjcmlwdGlvbhgDIAEoCRIXCgp2Y3NfYnJhbmNoGAQgASgJSACIAQESFwoKdmNzX3ByX3VybBgFIAEoCUgBiAEBEhsKDmRlcGxveW1lbnRfdXJsGAYgASgJSAKIAQESHgoRdGVzdF9yZXN1bHRzX2pzb24YByABKAlIA4gBARIWCgllcnJvcl9sb2cYCCABKAlIBIgBARIXCg9haV9jcmVkaXRzX3VzZWQYCSABKAUSGgoNbWV0YWRhdGFfanNvbhgKIAEoCUgFiAEBEhoKEmFpX3dvcmtmbG93X3J1bl9pZBgLIAEoDRIuCg9haV93b3JrZmxvd19ydW4YDCABKAsyFS5hcGkudjEuQUlXb3JrZmxvd1J1bhIPCgd0YXNrX2lkGA0gASgNEhoKBHRhc2sYDiABKAsyDC5hcGkudjEuVGFzaxIaChJ2Y3NfaW50ZWdyYXRpb25faWQYDyABKA0SLwoPdmNzX2ludGVncmF0aW9uGBAgASgLMhYuYXBpLnYxLlZDU0ludGVncmF0aW9uEiAKE2FpX3VuaXRfY2F0ZWdvcnlfaWQYESABKA1IBogBARIwChBhaV91bml0X2NhdGVnb3J5GBIgASgLMhYuYXBpLnYxLkFJVW5pdENhdGVnb3J5EhgKEGFpX3VuaXRfc3RhZ2VfaWQYEyABKA0SKgoNYWlfdW5pdF9zdGFnZRgUIAEoCzITLmFwaS52MS5BSVVuaXRTdGFnZRIZChFhaV91bml0X3N0YXR1c19pZBgVIAEoDRIsCg5haV91bml0X3N0YXR1cxgWIAEoCzIULmFwaS52MS5BSVVuaXRTdGF0dXMSHwoSZGVwZW5kc19vbl91bml0X2lkGBcgASgNSAeIAQESLwoPZGVwZW5kc19vbl91bml0GBggASgLMhYuYXBpLnYxLkFJV29ya2Zsb3dVbml0Ei4KCmNyZWF0ZWRfYXQYGSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYGiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg0KC192Y3NfYnJhbmNoQg0KC192Y3NfcHJfdXJsQhEKD19kZXBsb3ltZW50X3VybEIUChJfdGVzdF9yZXN1bHRzX2pzb25CDAoKX2Vycm9yX2xvZ0IQCg5fbWV0YWRhdGFfanNvbkIWChRfYWlfdW5pdF9jYXRlZ29yeV9pZEIVChNfZGVwZW5kc19vbl91bml0X2lkIv8BCgtFbnZpcm9ubWVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhEKBHR5cGUYAyABKAlIAIgBARIaCg1rOHNfbmFtZXNwYWNlGAQgASgJSAGIAQESGAoLYmFzZV9kb21haW4YBSABKAlIAogBARIaCg1tZXRhZGF0YV9qc29uGAYgASgJSAOIAQESEgoKcHJvamVjdF9pZBgHIAEoDRIgCgdwcm9qZWN0GAggASgLMg8uYXBpLnYxLlByb2plY3RCBwoFX3R5cGVCEAoOX2s4c19uYW1lc3BhY2VCDgoMX2Jhc2VfZG9tYWluQhAKDl9tZXRhZGF0YV9qc29uIqICCgpEZXBsb3ltZW50EgoKAmlkGAEgASgNEg4KBnN0YXR1cxgCIAEoCRIQCgN1cmwYAyABKAlIAIgBARIVCghsb2dzX3VybBgEIAEoCUgBiAEBEhoKDW1ldGFkYXRhX2pzb24YBSABKAlIAogBARIWCg5lbnZpcm9ubWVudF9pZBgGIAEoDRIoCgtlbnZpcm9ubWVudBgHIAEoCzITLmFwaS52MS5FbnZpcm9ubWVudBIaChJhaV93b3JrZmxvd19ydW5faWQYCCABKA0SLgoPYWlfd29ya2Zsb3dfcnVuGAkgASgLMhUuYXBpLnYxLkFJV29ya2Zsb3dSdW5CBgoEX3VybEILCglfbG9nc191cmxCEAoOX21ldGFkYXRhX2pzb24i/AEKB1Rlc3RSdW4SCgoCaWQYASABKA0SDAoEdHlwZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSFgoJZnJhbWV3b3JrGAQgASgJSACIAQESFwoKcmVwb3J0X3VybBgFIAEoCUgBiAEBEhkKDHJlc3VsdHNfanNvbhgGIAEoCUgCiAEBEhsKE2FpX3dvcmtmbG93X3VuaXRfaWQYByABKA0SMAoQYWlfd29ya2Zsb3dfdW5pdBgIIAEoCzIWLmFwaS52MS5BSVdvcmtmbG93VW5pdEIMCgpfZnJhbWV3b3JrQg0KC19yZXBvcnRfdXJsQg8KDV9yZXN1bHRzX2pzb24ipAMKC0FjdGl2aXR5TG9nEgoKAmlkGAEgASgNEg4KBmFjdGlvbhgCIAEoCRITCgtlbnRpdHlfdHlwZRgDIAEoCRIRCgllbnRpdHlfaWQYBCABKA0SEwoLZGVzY3JpcHRpb24YBSABKAkSGgoNbWV0YWRhdGFfanNvbhgGIAEoCUgAiAEBEhcKCmlwX2FkZHJlc3MYByABKAlIAYgBARIUCgd1c2VyX2lkGAggASgNSAKIAQESGgoEdXNlchgJIAEoCzIMLmFwaS52MS5Vc2VyEhcKCnByb2plY3RfaWQYCiABKA1IA4gBARIgCgdwcm9qZWN0GAsgASgLMg8uYXBpLnYxLlByb2plY3QSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCEAoOX21ldGFkYXRhX2pzb25CDQoLX2lwX2FkZHJlc3NCCgoIX3VzZXJfaWRCDQoLX3Byb2plY3RfaWQihwMKDE5vdGlmaWNhdGlvbhIKCgJpZBgBIAEoDRINCgV0aXRsZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEhkKEW5vdGlmaWNhdGlvbl90eXBlGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgNSAGIAQESFwoKYWN0aW9uX3VybBgHIAEoCUgCiAEBEg8KB2lzX3JlYWQYCCABKAgSFgoOc2VudF92aWFfZW1haWwYCSABKAgSGgoNbWV0YWRhdGFfanNvbhgKIAEoCUgDiAEBEg8KB3VzZXJfaWQYCyABKA0SGgoEdXNlchgMIAEoCzIMLmFwaS52MS5Vc2VyEhIKCmNvbXBhbnlfaWQYDSABKA0SIAoHY29tcGFueRgOIAEoCzIPLmFwaS52MS5Db21wYW55Qg4KDF9lbnRpdHlfdHlwZUIMCgpfZW50aXR5X2lkQg0KC19hY3Rpb25fdXJsQhAKDl9tZXRhZGF0YV9qc29uIlsKB0NvdW50cnkSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIQCghpc29fY29kZRgDIAEoCRIRCglpc29fY29kZTIYBCABKAkSEQoJZGlhbF9jb2RlGAUgASgJIvUECghEb2N1bWVudBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEhAKCGZpbGVuYW1lGAIgASgJEhEKCW1pbWVfdHlwZRgDIAEoCRIMCgRzaXplGAQgASgDEhMKC3N0b3JhZ2VfdXJsGAUgASgJEhMKBnNoYTI1NhgGIAEoCUgAiAEBEhYKCWRpc2tfbmFtZRgHIAEoCUgBiAEBEhEKBGtpbmQYCCABKAlIAogBARIRCglpc19mb2xkZXIYCSABKAgSFgoJZnVsbF9wYXRoGAogASgJSAOIAQESHQoQcGFyZW50X2ZvbGRlcl9pZBgLIAEoDUgEiAEBEicKDXBhcmVudF9mb2xkZXIYDCABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKcHJvamVjdF9pZBgNIAEoDRIgCgdwcm9qZWN0GA4gASgLMg8uYXBpLnYxLlByb2plY3QSEgoKY29tcGFueV9pZBgPIAEoDRIgCgdjb21wYW55GBAgASgLMg8uYXBpLnYxLkNvbXBhbnkSGwoTdXBsb2FkZWRfYnlfdXNlcl9pZBgRIAEoDRImChB1cGxvYWRlZF9ieV91c2VyGBIgASgLMgwuYXBpLnYxLlVzZXISLgoKY3JlYXRlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCQoHX3NoYTI1NkIMCgpfZGlza19uYW1lQgcKBV9raW5kQgwKCl9mdWxsX3BhdGhCEwoRX3BhcmVudF9mb2xkZXJfaWQi3QEKDERvY3VtZW50TGluaxIKCgJpZBgBIAEoDRIRCglsaW5rX2tpbmQYAiABKAkSDwoHbGlua19pZBgDIAEoDRITCgtkb2N1bWVudF9pZBgEIAEoDRIiCghkb2N1bWVudBgFIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpjb21wYW55X2lkGAYgASgNEiAKB2NvbXBhbnkYByABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKIAgoHV29ya0xvZxIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKBHRhc2sYAyABKAsyDC5hcGkudjEuVGFzaxIPCgd1c2VyX2lkGAQgASgNEhoKBHVzZXIYBSABKAsyDC5hcGkudjEuVXNlchINCgVob3VycxgGIAEoARIYCgtkZXNjcmlwdGlvbhgHIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbiKHAwoJTWlsZXN0b25lEgoKAmlkGAEgASgNEgwKBHV1aWQYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEjMKCnN0YXJ0X2RhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMQoIZW5kX2RhdGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESDgoGc3RhdHVzGAcgASgJEhIKCnByb2plY3RfaWQYCCABKA0SIAoHcHJvamVjdBgJIAEoCzIPLmFwaS52MS5Qcm9qZWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGUimAEKDU1pbGVzdG9uZVRhc2sSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSDwoHdGFza19pZBgEIAEoDRIaCgR0YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgGIAEoDSKmAQoQTWlsZXN0b25lRG9jUGFnZRIKCgJpZBgBIAEoDRIUCgxtaWxlc3RvbmVfaWQYAiABKA0SJAoJbWlsZXN0b25lGAMgASgLMhEuYXBpLnYxLk1pbGVzdG9uZRITCgtkb2NfcGFnZV9pZBgEIAEoDRIhCghkb2NfcGFnZRgFIAEoCzIPLmFwaS52MS5Eb2NQYWdlEhIKCmNvbXBhbnlfaWQYBiABKA0ixwEKE01pbGVzdG9uZVJlcG9zaXRvcnkSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAQgASgNEjUKEnByb2plY3RfcmVwb3NpdG9yeRgFIAEoCzIZLmFwaS52MS5Qcm9qZWN0UmVwb3NpdG9yeRISCgpjb21wYW55X2lkGAYgASgNIqgBChFNaWxlc3RvbmVEb2N1bWVudBIKCgJpZBgBIAEoDRIUCgxtaWxlc3RvbmVfaWQYAiABKA0SJAoJbWlsZXN0b25lGAMgASgLMhEuYXBpLnYxLk1pbGVzdG9uZRITCgtkb2N1bWVudF9pZBgEIAEoDRIiCghkb2N1bWVudBgFIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpjb21wYW55X2lkGAYgASgNItkECgpJbml0aWF0aXZlEgoKAmlkGAEgASgNEgwKBHV1aWQYAiABKAkSDQoFdGl0bGUYAyABKAkSFAoHc3VtbWFyeRgEIAEoCUgAiAEBEg4KBnN0YXR1cxgFIAEoCRIRCgljb3JlX2lkZWEYBiABKAkSHgoWY29yZV9pZGVhX2NvbnRlbnRfdHlwZRgHIAEoCRITCgthbmNob3JfdHlwZRgIIAEoCRIWCglhbmNob3JfaWQYCSABKA1IAYgBARISCgpwcm9qZWN0X2lkGAogASgNEiAKB3Byb2plY3QYCyABKAsyDy5hcGkudjEuUHJvamVjdBISCgpjb21wYW55X2lkGAwgASgNEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgNIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYDiABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYDyABKA0SJQoPdXBkYXRlZF9ieV91c2VyGBAgASgLMgwuYXBpLnYxLlVzZXISLgoKY3JlYXRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGwoFdGFza3MYEyADKAsyDC5hcGkudjEuVGFzaxI1Cg5tZW1vcnlfZW50cmllcxgUIAMoCzIdLmFwaS52MS5Jbml0aWF0aXZlTWVtb3J5RW50cnlCCgoIX3N1bW1hcnlCDAoKX2FuY2hvcl9pZCKLAwoVSW5pdGlhdGl2ZU1lbW9yeUVudHJ5EgoKAmlkGAEgASgNEhUKDWluaXRpYXRpdmVfaWQYAiABKA0SEgoKY29tcGFueV9pZBgDIAEoDRIMCgRraW5kGAQgASgJEgwKBGJvZHkYBSABKAkSFAoMY29udGVudF90eXBlGAYgASgJEhsKDmF1dGhvcl91c2VyX2lkGAcgASgNSACIAQESIQoLYXV0aG9yX3VzZXIYCCABKAsyDC5hcGkudjEuVXNlchIQCghpc19hZ2VudBgJIAEoCBIRCglpc19zeXN0ZW0YCiABKAgSEwoLc291cmNlX3R5cGUYCyABKAkSFgoJc291cmNlX2lkGAwgASgNSAGIAQESFwoKc291cmNlX3VybBgNIAEoCUgCiAEBEi4KCmNyZWF0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhEKD19hdXRob3JfdXNlcl9pZEIMCgpfc291cmNlX2lkQg0KC19zb3VyY2VfdXJsIqQCCg5UYXNrRGVwZW5kZW5jeRIKCgJpZBgBIAEoDRIUCgxmcm9tX3Rhc2tfaWQYAiABKA0SHwoJZnJvbV90YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSEgoKdG9fdGFza19pZBgEIAEoDRIdCgd0b190YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSKAoEdHlwZRgGIAEoDjIaLmFwaS52MS5UYXNrRGVwZW5kZW5jeVR5cGUSEgoKY29tcGFueV9pZBgHIAEoDRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLdAQoXVGFza0FjY2VwdGFuY2VDcml0ZXJpb24SCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIMCgR0ZXh0GAMgASgJEgwKBGRvbmUYBCABKAgSFQoNZGlzcGxheV9vcmRlchgFIAEoBRISCgpjb21wYW55X2lkGAYgASgNEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKsoBChJUYXNrRGVwZW5kZW5jeVR5cGUSJAogVEFTS19ERVBFTkRFTkNZX1RZUEVfVU5TUEVDSUZJRUQQABIfChtUQVNLX0RFUEVOREVOQ1lfVFlQRV9CTE9DS1MQARIjCh9UQVNLX0RFUEVOREVOQ1lfVFlQRV9CTE9DS0VEX0JZEAISIwofVEFTS19ERVBFTkRFTkNZX1RZUEVfRFVQTElDQVRFUxADEiMKH1RBU0tfREVQRU5ERU5DWV9UWVBFX1JFTEFURVNfVE8QBEJwCgpjb20uYXBpLnYxQgtNb2RlbHNQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_timestamp, file_api_v1_vcs]);
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message api.v1.Permission.
|
|
@@ -243,180 +243,187 @@ export const TaskPullRequestSchema = /*@__PURE__*/
|
|
|
243
243
|
export const CommentSchema = /*@__PURE__*/
|
|
244
244
|
messageDesc(file_api_v1_models, 32);
|
|
245
245
|
|
|
246
|
+
/**
|
|
247
|
+
* Describes the message api.v1.TaskSubscription.
|
|
248
|
+
* Use `create(TaskSubscriptionSchema)` to create a new message.
|
|
249
|
+
*/
|
|
250
|
+
export const TaskSubscriptionSchema = /*@__PURE__*/
|
|
251
|
+
messageDesc(file_api_v1_models, 33);
|
|
252
|
+
|
|
246
253
|
/**
|
|
247
254
|
* Describes the message api.v1.Attachment.
|
|
248
255
|
* Use `create(AttachmentSchema)` to create a new message.
|
|
249
256
|
*/
|
|
250
257
|
export const AttachmentSchema = /*@__PURE__*/
|
|
251
|
-
messageDesc(file_api_v1_models,
|
|
258
|
+
messageDesc(file_api_v1_models, 34);
|
|
252
259
|
|
|
253
260
|
/**
|
|
254
261
|
* Describes the message api.v1.AIRunStatus.
|
|
255
262
|
* Use `create(AIRunStatusSchema)` to create a new message.
|
|
256
263
|
*/
|
|
257
264
|
export const AIRunStatusSchema = /*@__PURE__*/
|
|
258
|
-
messageDesc(file_api_v1_models,
|
|
265
|
+
messageDesc(file_api_v1_models, 35);
|
|
259
266
|
|
|
260
267
|
/**
|
|
261
268
|
* Describes the message api.v1.AIUnitStage.
|
|
262
269
|
* Use `create(AIUnitStageSchema)` to create a new message.
|
|
263
270
|
*/
|
|
264
271
|
export const AIUnitStageSchema = /*@__PURE__*/
|
|
265
|
-
messageDesc(file_api_v1_models,
|
|
272
|
+
messageDesc(file_api_v1_models, 36);
|
|
266
273
|
|
|
267
274
|
/**
|
|
268
275
|
* Describes the message api.v1.AIUnitStatus.
|
|
269
276
|
* Use `create(AIUnitStatusSchema)` to create a new message.
|
|
270
277
|
*/
|
|
271
278
|
export const AIUnitStatusSchema = /*@__PURE__*/
|
|
272
|
-
messageDesc(file_api_v1_models,
|
|
279
|
+
messageDesc(file_api_v1_models, 37);
|
|
273
280
|
|
|
274
281
|
/**
|
|
275
282
|
* Describes the message api.v1.AIUnitCategory.
|
|
276
283
|
* Use `create(AIUnitCategorySchema)` to create a new message.
|
|
277
284
|
*/
|
|
278
285
|
export const AIUnitCategorySchema = /*@__PURE__*/
|
|
279
|
-
messageDesc(file_api_v1_models,
|
|
286
|
+
messageDesc(file_api_v1_models, 38);
|
|
280
287
|
|
|
281
288
|
/**
|
|
282
289
|
* Describes the message api.v1.AIWorkflowRun.
|
|
283
290
|
* Use `create(AIWorkflowRunSchema)` to create a new message.
|
|
284
291
|
*/
|
|
285
292
|
export const AIWorkflowRunSchema = /*@__PURE__*/
|
|
286
|
-
messageDesc(file_api_v1_models,
|
|
293
|
+
messageDesc(file_api_v1_models, 39);
|
|
287
294
|
|
|
288
295
|
/**
|
|
289
296
|
* Describes the message api.v1.AIWorkflowUnit.
|
|
290
297
|
* Use `create(AIWorkflowUnitSchema)` to create a new message.
|
|
291
298
|
*/
|
|
292
299
|
export const AIWorkflowUnitSchema = /*@__PURE__*/
|
|
293
|
-
messageDesc(file_api_v1_models,
|
|
300
|
+
messageDesc(file_api_v1_models, 40);
|
|
294
301
|
|
|
295
302
|
/**
|
|
296
303
|
* Describes the message api.v1.Environment.
|
|
297
304
|
* Use `create(EnvironmentSchema)` to create a new message.
|
|
298
305
|
*/
|
|
299
306
|
export const EnvironmentSchema = /*@__PURE__*/
|
|
300
|
-
messageDesc(file_api_v1_models,
|
|
307
|
+
messageDesc(file_api_v1_models, 41);
|
|
301
308
|
|
|
302
309
|
/**
|
|
303
310
|
* Describes the message api.v1.Deployment.
|
|
304
311
|
* Use `create(DeploymentSchema)` to create a new message.
|
|
305
312
|
*/
|
|
306
313
|
export const DeploymentSchema = /*@__PURE__*/
|
|
307
|
-
messageDesc(file_api_v1_models,
|
|
314
|
+
messageDesc(file_api_v1_models, 42);
|
|
308
315
|
|
|
309
316
|
/**
|
|
310
317
|
* Describes the message api.v1.TestRun.
|
|
311
318
|
* Use `create(TestRunSchema)` to create a new message.
|
|
312
319
|
*/
|
|
313
320
|
export const TestRunSchema = /*@__PURE__*/
|
|
314
|
-
messageDesc(file_api_v1_models,
|
|
321
|
+
messageDesc(file_api_v1_models, 43);
|
|
315
322
|
|
|
316
323
|
/**
|
|
317
324
|
* Describes the message api.v1.ActivityLog.
|
|
318
325
|
* Use `create(ActivityLogSchema)` to create a new message.
|
|
319
326
|
*/
|
|
320
327
|
export const ActivityLogSchema = /*@__PURE__*/
|
|
321
|
-
messageDesc(file_api_v1_models,
|
|
328
|
+
messageDesc(file_api_v1_models, 44);
|
|
322
329
|
|
|
323
330
|
/**
|
|
324
331
|
* Describes the message api.v1.Notification.
|
|
325
332
|
* Use `create(NotificationSchema)` to create a new message.
|
|
326
333
|
*/
|
|
327
334
|
export const NotificationSchema = /*@__PURE__*/
|
|
328
|
-
messageDesc(file_api_v1_models,
|
|
335
|
+
messageDesc(file_api_v1_models, 45);
|
|
329
336
|
|
|
330
337
|
/**
|
|
331
338
|
* Describes the message api.v1.Country.
|
|
332
339
|
* Use `create(CountrySchema)` to create a new message.
|
|
333
340
|
*/
|
|
334
341
|
export const CountrySchema = /*@__PURE__*/
|
|
335
|
-
messageDesc(file_api_v1_models,
|
|
342
|
+
messageDesc(file_api_v1_models, 46);
|
|
336
343
|
|
|
337
344
|
/**
|
|
338
345
|
* Describes the message api.v1.Document.
|
|
339
346
|
* Use `create(DocumentSchema)` to create a new message.
|
|
340
347
|
*/
|
|
341
348
|
export const DocumentSchema = /*@__PURE__*/
|
|
342
|
-
messageDesc(file_api_v1_models,
|
|
349
|
+
messageDesc(file_api_v1_models, 47);
|
|
343
350
|
|
|
344
351
|
/**
|
|
345
352
|
* Describes the message api.v1.DocumentLink.
|
|
346
353
|
* Use `create(DocumentLinkSchema)` to create a new message.
|
|
347
354
|
*/
|
|
348
355
|
export const DocumentLinkSchema = /*@__PURE__*/
|
|
349
|
-
messageDesc(file_api_v1_models,
|
|
356
|
+
messageDesc(file_api_v1_models, 48);
|
|
350
357
|
|
|
351
358
|
/**
|
|
352
359
|
* Describes the message api.v1.WorkLog.
|
|
353
360
|
* Use `create(WorkLogSchema)` to create a new message.
|
|
354
361
|
*/
|
|
355
362
|
export const WorkLogSchema = /*@__PURE__*/
|
|
356
|
-
messageDesc(file_api_v1_models,
|
|
363
|
+
messageDesc(file_api_v1_models, 49);
|
|
357
364
|
|
|
358
365
|
/**
|
|
359
366
|
* Describes the message api.v1.Milestone.
|
|
360
367
|
* Use `create(MilestoneSchema)` to create a new message.
|
|
361
368
|
*/
|
|
362
369
|
export const MilestoneSchema = /*@__PURE__*/
|
|
363
|
-
messageDesc(file_api_v1_models,
|
|
370
|
+
messageDesc(file_api_v1_models, 50);
|
|
364
371
|
|
|
365
372
|
/**
|
|
366
373
|
* Describes the message api.v1.MilestoneTask.
|
|
367
374
|
* Use `create(MilestoneTaskSchema)` to create a new message.
|
|
368
375
|
*/
|
|
369
376
|
export const MilestoneTaskSchema = /*@__PURE__*/
|
|
370
|
-
messageDesc(file_api_v1_models,
|
|
377
|
+
messageDesc(file_api_v1_models, 51);
|
|
371
378
|
|
|
372
379
|
/**
|
|
373
380
|
* Describes the message api.v1.MilestoneDocPage.
|
|
374
381
|
* Use `create(MilestoneDocPageSchema)` to create a new message.
|
|
375
382
|
*/
|
|
376
383
|
export const MilestoneDocPageSchema = /*@__PURE__*/
|
|
377
|
-
messageDesc(file_api_v1_models,
|
|
384
|
+
messageDesc(file_api_v1_models, 52);
|
|
378
385
|
|
|
379
386
|
/**
|
|
380
387
|
* Describes the message api.v1.MilestoneRepository.
|
|
381
388
|
* Use `create(MilestoneRepositorySchema)` to create a new message.
|
|
382
389
|
*/
|
|
383
390
|
export const MilestoneRepositorySchema = /*@__PURE__*/
|
|
384
|
-
messageDesc(file_api_v1_models,
|
|
391
|
+
messageDesc(file_api_v1_models, 53);
|
|
385
392
|
|
|
386
393
|
/**
|
|
387
394
|
* Describes the message api.v1.MilestoneDocument.
|
|
388
395
|
* Use `create(MilestoneDocumentSchema)` to create a new message.
|
|
389
396
|
*/
|
|
390
397
|
export const MilestoneDocumentSchema = /*@__PURE__*/
|
|
391
|
-
messageDesc(file_api_v1_models,
|
|
398
|
+
messageDesc(file_api_v1_models, 54);
|
|
392
399
|
|
|
393
400
|
/**
|
|
394
401
|
* Describes the message api.v1.Initiative.
|
|
395
402
|
* Use `create(InitiativeSchema)` to create a new message.
|
|
396
403
|
*/
|
|
397
404
|
export const InitiativeSchema = /*@__PURE__*/
|
|
398
|
-
messageDesc(file_api_v1_models,
|
|
405
|
+
messageDesc(file_api_v1_models, 55);
|
|
399
406
|
|
|
400
407
|
/**
|
|
401
408
|
* Describes the message api.v1.InitiativeMemoryEntry.
|
|
402
409
|
* Use `create(InitiativeMemoryEntrySchema)` to create a new message.
|
|
403
410
|
*/
|
|
404
411
|
export const InitiativeMemoryEntrySchema = /*@__PURE__*/
|
|
405
|
-
messageDesc(file_api_v1_models,
|
|
412
|
+
messageDesc(file_api_v1_models, 56);
|
|
406
413
|
|
|
407
414
|
/**
|
|
408
415
|
* Describes the message api.v1.TaskDependency.
|
|
409
416
|
* Use `create(TaskDependencySchema)` to create a new message.
|
|
410
417
|
*/
|
|
411
418
|
export const TaskDependencySchema = /*@__PURE__*/
|
|
412
|
-
messageDesc(file_api_v1_models,
|
|
419
|
+
messageDesc(file_api_v1_models, 57);
|
|
413
420
|
|
|
414
421
|
/**
|
|
415
422
|
* Describes the message api.v1.TaskAcceptanceCriterion.
|
|
416
423
|
* Use `create(TaskAcceptanceCriterionSchema)` to create a new message.
|
|
417
424
|
*/
|
|
418
425
|
export const TaskAcceptanceCriterionSchema = /*@__PURE__*/
|
|
419
|
-
messageDesc(file_api_v1_models,
|
|
426
|
+
messageDesc(file_api_v1_models, 58);
|
|
420
427
|
|
|
421
428
|
/**
|
|
422
429
|
* Describes the enum api.v1.TaskDependencyType.
|
|
@@ -63,6 +63,13 @@ export declare type AddProjectRequest = Message<"api.v1.AddProjectRequest"> & {
|
|
|
63
63
|
export declare const AddProjectRequestSchema: GenMessage<AddProjectRequest>;
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
|
+
* EditProjectRequest is a partial update: every mutable field carries explicit
|
|
67
|
+
* presence, so "set this column to false/empty" is distinguishable from "the
|
|
68
|
+
* client did not send this field". A bare proto3 scalar makes both arrive as
|
|
69
|
+
* the zero value, which is how deactivating a project used to be swallowed
|
|
70
|
+
* (OPS-244). Validation rules on an optional field are only applied when the
|
|
71
|
+
* field is present, so an omitted name is "unchanged", not "empty name".
|
|
72
|
+
*
|
|
66
73
|
* @generated from message api.v1.EditProjectRequest
|
|
67
74
|
*/
|
|
68
75
|
export declare type EditProjectRequest = Message<"api.v1.EditProjectRequest"> & {
|
|
@@ -72,14 +79,17 @@ export declare type EditProjectRequest = Message<"api.v1.EditProjectRequest"> &
|
|
|
72
79
|
id: number;
|
|
73
80
|
|
|
74
81
|
/**
|
|
75
|
-
* @generated from field: string name = 2;
|
|
82
|
+
* @generated from field: optional string name = 2;
|
|
76
83
|
*/
|
|
77
|
-
name
|
|
84
|
+
name?: string;
|
|
78
85
|
|
|
79
86
|
/**
|
|
80
|
-
*
|
|
87
|
+
* min_len rejects an explicitly-empty slug loudly rather than blanking the
|
|
88
|
+
* column; omit the field entirely to leave the slug alone.
|
|
89
|
+
*
|
|
90
|
+
* @generated from field: optional string slug = 3;
|
|
81
91
|
*/
|
|
82
|
-
slug
|
|
92
|
+
slug?: string;
|
|
83
93
|
|
|
84
94
|
/**
|
|
85
95
|
* @generated from field: optional string description = 4;
|
|
@@ -87,9 +97,9 @@ export declare type EditProjectRequest = Message<"api.v1.EditProjectRequest"> &
|
|
|
87
97
|
description?: string;
|
|
88
98
|
|
|
89
99
|
/**
|
|
90
|
-
* @generated from field: bool is_active = 5;
|
|
100
|
+
* @generated from field: optional bool is_active = 5;
|
|
91
101
|
*/
|
|
92
|
-
isActive
|
|
102
|
+
isActive?: boolean;
|
|
93
103
|
|
|
94
104
|
/**
|
|
95
105
|
* @generated from field: optional string settings_json = 6;
|
|
@@ -97,14 +107,9 @@ export declare type EditProjectRequest = Message<"api.v1.EditProjectRequest"> &
|
|
|
97
107
|
settingsJson?: string;
|
|
98
108
|
|
|
99
109
|
/**
|
|
100
|
-
* @generated from field:
|
|
110
|
+
* @generated from field: optional string short_name = 8;
|
|
101
111
|
*/
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* @generated from field: string short_name = 8;
|
|
106
|
-
*/
|
|
107
|
-
shortName: string;
|
|
112
|
+
shortName?: string;
|
|
108
113
|
};
|
|
109
114
|
|
|
110
115
|
/**
|
package/gen/api/v1/project_pb.js
CHANGED
|
@@ -14,7 +14,7 @@ import { file_api_v1_models } from "./models_pb";
|
|
|
14
14
|
* Describes the file api/v1/project.proto.
|
|
15
15
|
*/
|
|
16
16
|
export const file_api_v1_project = /*@__PURE__*/
|
|
17
|
-
fileDesc("ChRhcGkvdjEvcHJvamVjdC5wcm90bxIGYXBpLnYxIusBChFBZGRQcm9qZWN0UmVxdWVzdBIXCgRuYW1lGAEgASgJQgn6QgZyBBABGGQSFQoEc2x1ZxgCIAEoCUIH+
|
|
17
|
+
fileDesc("ChRhcGkvdjEvcHJvamVjdC5wcm90bxIGYXBpLnYxIusBChFBZGRQcm9qZWN0UmVxdWVzdBIXCgRuYW1lGAEgASgJQgn6QgZyBBABGGQSFQoEc2x1ZxgCIAEoCUIH+kIEcgIYMhIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgEIAEoCBIaCg1zZXR0aW5nc19qc29uGAUgASgJSAGIAQESEgoKY29tcGFueV9pZBgGIAEoDRInCgpzaG9ydF9uYW1lGAcgASgJQhP6QhByDhABGAQyCF5bQS1aXSskQg4KDF9kZXNjcmlwdGlvbkIQCg5fc2V0dGluZ3NfanNvbiLEAgoSRWRpdFByb2plY3RSZXF1ZXN0EhMKAmlkGAEgASgNQgf6QgQqAigBEhwKBG5hbWUYAiABKAlCCfpCBnIEEAEYZEgAiAEBEhwKBHNsdWcYAyABKAlCCfpCBnIEEAEYMkgBiAEBEhgKC2Rlc2NyaXB0aW9uGAQgASgJSAKIAQESFgoJaXNfYWN0aXZlGAUgASgISAOIAQESGgoNc2V0dGluZ3NfanNvbhgGIAEoCUgEiAEBEiwKCnNob3J0X25hbWUYCCABKAlCE/pCEHIOEAEYBDIIXltBLVpdKyRIBYgBAUIHCgVfbmFtZUIHCgVfc2x1Z0IOCgxfZGVzY3JpcHRpb25CDAoKX2lzX2FjdGl2ZUIQCg5fc2V0dGluZ3NfanNvbkINCgtfc2hvcnRfbmFtZUoECAcQCFIKY29tcGFueV9pZCIfChFHZXRQcm9qZWN0UmVxdWVzdBIKCgJpZBgBIAEoDSIxChdHZXRQcm9qZWN0QnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASJ1ChJHZXRQcm9qZWN0c1JlcXVlc3QSMAoKcGFnaW5hdGlvbhgBIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgCIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zIiIKFERlbGV0ZVByb2plY3RSZXF1ZXN0EgoKAmlkGAEgASgNImAKE0dldFByb2plY3RzUmVzcG9uc2USIQoIcHJvamVjdHMYASADKAsyDy5hcGkudjEuUHJvamVjdBImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iNgoSQWRkUHJvamVjdFJlc3BvbnNlEiAKB3Byb2plY3QYASABKAsyDy5hcGkudjEuUHJvamVjdCI3ChNFZGl0UHJvamVjdFJlc3BvbnNlEiAKB3Byb2plY3QYASABKAsyDy5hcGkudjEuUHJvamVjdCI2ChJHZXRQcm9qZWN0UmVzcG9uc2USIAoHcHJvamVjdBgBIAEoCzIPLmFwaS52MS5Qcm9qZWN0IkoKE1NoYXJlUHJvamVjdFJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIWCgVlbWFpbBgCIAEoCUIH+kIEcgJgASInChRTaGFyZVByb2plY3RSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIi8KEkFjY2VwdFNoYXJlUmVxdWVzdBIZCghzaGFyZV9pZBgBIAEoDUIH+kIEKgIoASImChNBY2NlcHRTaGFyZVJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiGgoYR2V0UGVuZGluZ0ludml0ZXNSZXF1ZXN0IkEKGUdldFBlbmRpbmdJbnZpdGVzUmVzcG9uc2USJAoGc2hhcmVzGAEgAygLMhQuYXBpLnYxLlByb2plY3RTaGFyZSKRAQoMUHJvamVjdFNoYXJlEgoKAmlkGAEgASgNEhIKCnByb2plY3RfaWQYAiABKA0SIAoHcHJvamVjdBgDIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhQKDGludml0ZV9lbWFpbBgEIAEoCRIOCgZzdGF0dXMYBSABKAkSGQoRdGFyZ2V0X2NvbXBhbnlfaWQYBiABKA0y7QcKDlByb2plY3RTZXJ2aWNlEmAKCkFkZFByb2plY3QSGS5hcGkudjEuQWRkUHJvamVjdFJlcXVlc3QaGi5hcGkudjEuQWRkUHJvamVjdFJlc3BvbnNlIhuC0+STAhU6ASoiEC9hcGkvdjEvcHJvamVjdHMSaAoLRWRpdFByb2plY3QSGi5hcGkudjEuRWRpdFByb2plY3RSZXF1ZXN0GhsuYXBpLnYxLkVkaXRQcm9qZWN0UmVzcG9uc2UiIILT5JMCGjoBKhoVL2FwaS92MS9wcm9qZWN0cy97aWR9EmIKCkdldFByb2plY3QSGS5hcGkudjEuR2V0UHJvamVjdFJlcXVlc3QaGi5hcGkudjEuR2V0UHJvamVjdFJlc3BvbnNlIh2C0+STAhcSFS9hcGkvdjEvcHJvamVjdHMve2lkfRJ1ChBHZXRQcm9qZWN0QnlVVUlEEh8uYXBpLnYxLkdldFByb2plY3RCeVVVSURSZXF1ZXN0GhouYXBpLnYxLkdldFByb2plY3RSZXNwb25zZSIkgtPkkwIeEhwvYXBpL3YxL3Byb2plY3RzL3V1aWQve3V1aWR9EmAKC0dldFByb2plY3RzEhouYXBpLnYxLkdldFByb2plY3RzUmVxdWVzdBobLmFwaS52MS5HZXRQcm9qZWN0c1Jlc3BvbnNlIhiC0+STAhISEC9hcGkvdjEvcHJvamVjdHMSZAoNRGVsZXRlUHJvamVjdBIcLmFwaS52MS5EZWxldGVQcm9qZWN0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIdgtPkkwIXKhUvYXBpL3YxL3Byb2plY3RzL3tpZH0SbAoMU2hhcmVQcm9qZWN0EhsuYXBpLnYxLlNoYXJlUHJvamVjdFJlcXVlc3QaHC5hcGkudjEuU2hhcmVQcm9qZWN0UmVzcG9uc2UiIYLT5JMCGzoBKiIWL2FwaS92MS9wcm9qZWN0cy9zaGFyZRJ7CgtBY2NlcHRTaGFyZRIaLmFwaS52MS5BY2NlcHRTaGFyZVJlcXVlc3QaGy5hcGkudjEuQWNjZXB0U2hhcmVSZXNwb25zZSIzgtPkkwItOgEqIigvYXBpL3YxL3Byb2plY3RzL3NoYXJlL3tzaGFyZV9pZH0vYWNjZXB0EoABChFHZXRQZW5kaW5nSW52aXRlcxIgLmFwaS52MS5HZXRQZW5kaW5nSW52aXRlc1JlcXVlc3QaIS5hcGkudjEuR2V0UGVuZGluZ0ludml0ZXNSZXNwb25zZSImgtPkkwIgEh4vYXBpL3YxL3Byb2plY3RzL3NoYXJlL3BlbmRpbmdCcQoKY29tLmFwaS52MUIMUHJvamVjdFByb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models]);
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Describes the message api.v1.AddProjectRequest.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.3
|
|
2
|
+
// @generated from file api/v1/task_subscription.proto (package api.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
|
6
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
7
|
+
import type { TaskSubscription } from "./models_pb";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Describes the file api/v1/task_subscription.proto.
|
|
11
|
+
*/
|
|
12
|
+
export declare const file_api_v1_task_subscription: GenFile;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Request definitions
|
|
16
|
+
*
|
|
17
|
+
* @generated from message api.v1.SubscribeTaskRequest
|
|
18
|
+
*/
|
|
19
|
+
export declare type SubscribeTaskRequest = Message<"api.v1.SubscribeTaskRequest"> & {
|
|
20
|
+
/**
|
|
21
|
+
* @generated from field: uint32 task_id = 1;
|
|
22
|
+
*/
|
|
23
|
+
taskId: number;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Describes the message api.v1.SubscribeTaskRequest.
|
|
28
|
+
* Use `create(SubscribeTaskRequestSchema)` to create a new message.
|
|
29
|
+
*/
|
|
30
|
+
export declare const SubscribeTaskRequestSchema: GenMessage<SubscribeTaskRequest>;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @generated from message api.v1.UnsubscribeTaskRequest
|
|
34
|
+
*/
|
|
35
|
+
export declare type UnsubscribeTaskRequest = Message<"api.v1.UnsubscribeTaskRequest"> & {
|
|
36
|
+
/**
|
|
37
|
+
* @generated from field: uint32 task_id = 1;
|
|
38
|
+
*/
|
|
39
|
+
taskId: number;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Describes the message api.v1.UnsubscribeTaskRequest.
|
|
44
|
+
* Use `create(UnsubscribeTaskRequestSchema)` to create a new message.
|
|
45
|
+
*/
|
|
46
|
+
export declare const UnsubscribeTaskRequestSchema: GenMessage<UnsubscribeTaskRequest>;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @generated from message api.v1.ListTaskSubscribersRequest
|
|
50
|
+
*/
|
|
51
|
+
export declare type ListTaskSubscribersRequest = Message<"api.v1.ListTaskSubscribersRequest"> & {
|
|
52
|
+
/**
|
|
53
|
+
* @generated from field: uint32 task_id = 1;
|
|
54
|
+
*/
|
|
55
|
+
taskId: number;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Describes the message api.v1.ListTaskSubscribersRequest.
|
|
60
|
+
* Use `create(ListTaskSubscribersRequestSchema)` to create a new message.
|
|
61
|
+
*/
|
|
62
|
+
export declare const ListTaskSubscribersRequestSchema: GenMessage<ListTaskSubscribersRequest>;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Response definitions
|
|
66
|
+
*
|
|
67
|
+
* @generated from message api.v1.SubscribeTaskResponse
|
|
68
|
+
*/
|
|
69
|
+
export declare type SubscribeTaskResponse = Message<"api.v1.SubscribeTaskResponse"> & {
|
|
70
|
+
/**
|
|
71
|
+
* @generated from field: api.v1.TaskSubscription subscription = 1;
|
|
72
|
+
*/
|
|
73
|
+
subscription?: TaskSubscription;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Describes the message api.v1.SubscribeTaskResponse.
|
|
78
|
+
* Use `create(SubscribeTaskResponseSchema)` to create a new message.
|
|
79
|
+
*/
|
|
80
|
+
export declare const SubscribeTaskResponseSchema: GenMessage<SubscribeTaskResponse>;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* @generated from message api.v1.UnsubscribeTaskResponse
|
|
84
|
+
*/
|
|
85
|
+
export declare type UnsubscribeTaskResponse = Message<"api.v1.UnsubscribeTaskResponse"> & {
|
|
86
|
+
/**
|
|
87
|
+
* @generated from field: bool subscribed = 1;
|
|
88
|
+
*/
|
|
89
|
+
subscribed: boolean;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Describes the message api.v1.UnsubscribeTaskResponse.
|
|
94
|
+
* Use `create(UnsubscribeTaskResponseSchema)` to create a new message.
|
|
95
|
+
*/
|
|
96
|
+
export declare const UnsubscribeTaskResponseSchema: GenMessage<UnsubscribeTaskResponse>;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @generated from message api.v1.ListTaskSubscribersResponse
|
|
100
|
+
*/
|
|
101
|
+
export declare type ListTaskSubscribersResponse = Message<"api.v1.ListTaskSubscribersResponse"> & {
|
|
102
|
+
/**
|
|
103
|
+
* @generated from field: repeated api.v1.TaskSubscription subscriptions = 1;
|
|
104
|
+
*/
|
|
105
|
+
subscriptions: TaskSubscription[];
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Describes the message api.v1.ListTaskSubscribersResponse.
|
|
110
|
+
* Use `create(ListTaskSubscribersResponseSchema)` to create a new message.
|
|
111
|
+
*/
|
|
112
|
+
export declare const ListTaskSubscribersResponseSchema: GenMessage<ListTaskSubscribersResponse>;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Service definition. Display-only: store and surface subscribers and the
|
|
116
|
+
* current user's subscription state. No notification/email/SSE side effects.
|
|
117
|
+
*
|
|
118
|
+
* @generated from service api.v1.TaskSubscriptionService
|
|
119
|
+
*/
|
|
120
|
+
export declare const TaskSubscriptionService: GenService<{
|
|
121
|
+
/**
|
|
122
|
+
* @generated from rpc api.v1.TaskSubscriptionService.SubscribeTask
|
|
123
|
+
*/
|
|
124
|
+
subscribeTask: {
|
|
125
|
+
methodKind: "unary";
|
|
126
|
+
input: typeof SubscribeTaskRequestSchema;
|
|
127
|
+
output: typeof SubscribeTaskResponseSchema;
|
|
128
|
+
},
|
|
129
|
+
/**
|
|
130
|
+
* @generated from rpc api.v1.TaskSubscriptionService.UnsubscribeTask
|
|
131
|
+
*/
|
|
132
|
+
unsubscribeTask: {
|
|
133
|
+
methodKind: "unary";
|
|
134
|
+
input: typeof UnsubscribeTaskRequestSchema;
|
|
135
|
+
output: typeof UnsubscribeTaskResponseSchema;
|
|
136
|
+
},
|
|
137
|
+
/**
|
|
138
|
+
* @generated from rpc api.v1.TaskSubscriptionService.ListTaskSubscribers
|
|
139
|
+
*/
|
|
140
|
+
listTaskSubscribers: {
|
|
141
|
+
methodKind: "unary";
|
|
142
|
+
input: typeof ListTaskSubscribersRequestSchema;
|
|
143
|
+
output: typeof ListTaskSubscribersResponseSchema;
|
|
144
|
+
},
|
|
145
|
+
}>;
|
|
146
|
+
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.3
|
|
2
|
+
// @generated from file api/v1/task_subscription.proto (package api.v1, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
|
6
|
+
import { file_google_api_annotations } from "../../google/api/annotations_pb";
|
|
7
|
+
import { file_validate_validate } from "../../validate/validate_pb";
|
|
8
|
+
import { file_api_v1_models } from "./models_pb";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Describes the file api/v1/task_subscription.proto.
|
|
12
|
+
*/
|
|
13
|
+
export const file_api_v1_task_subscription = /*@__PURE__*/
|
|
14
|
+
fileDesc("Ch5hcGkvdjEvdGFza19zdWJzY3JpcHRpb24ucHJvdG8SBmFwaS52MSIwChRTdWJzY3JpYmVUYXNrUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBIjIKFlVuc3Vic2NyaWJlVGFza1JlcXVlc3QSGAoHdGFza19pZBgBIAEoDUIH+kIEKgIoASI2ChpMaXN0VGFza1N1YnNjcmliZXJzUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBIkcKFVN1YnNjcmliZVRhc2tSZXNwb25zZRIuCgxzdWJzY3JpcHRpb24YASABKAsyGC5hcGkudjEuVGFza1N1YnNjcmlwdGlvbiItChdVbnN1YnNjcmliZVRhc2tSZXNwb25zZRISCgpzdWJzY3JpYmVkGAEgASgIIk4KG0xpc3RUYXNrU3Vic2NyaWJlcnNSZXNwb25zZRIvCg1zdWJzY3JpcHRpb25zGAEgAygLMhguYXBpLnYxLlRhc2tTdWJzY3JpcHRpb24yqAMKF1Rhc2tTdWJzY3JpcHRpb25TZXJ2aWNlEnoKDVN1YnNjcmliZVRhc2sSHC5hcGkudjEuU3Vic2NyaWJlVGFza1JlcXVlc3QaHS5hcGkudjEuU3Vic2NyaWJlVGFza1Jlc3BvbnNlIiyC0+STAiY6ASoiIS9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3N1YnNjcmliZRKCAQoPVW5zdWJzY3JpYmVUYXNrEh4uYXBpLnYxLlVuc3Vic2NyaWJlVGFza1JlcXVlc3QaHy5hcGkudjEuVW5zdWJzY3JpYmVUYXNrUmVzcG9uc2UiLoLT5JMCKDoBKiIjL2FwaS92MS90YXNrcy97dGFza19pZH0vdW5zdWJzY3JpYmUSiwEKE0xpc3RUYXNrU3Vic2NyaWJlcnMSIi5hcGkudjEuTGlzdFRhc2tTdWJzY3JpYmVyc1JlcXVlc3QaIy5hcGkudjEuTGlzdFRhc2tTdWJzY3JpYmVyc1Jlc3BvbnNlIiuC0+STAiUSIy9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3N1YnNjcmliZXJzQnoKCmNvbS5hcGkudjFCFVRhc2tTdWJzY3JpcHRpb25Qcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_api_annotations, file_validate_validate, file_api_v1_models]);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Describes the message api.v1.SubscribeTaskRequest.
|
|
18
|
+
* Use `create(SubscribeTaskRequestSchema)` to create a new message.
|
|
19
|
+
*/
|
|
20
|
+
export const SubscribeTaskRequestSchema = /*@__PURE__*/
|
|
21
|
+
messageDesc(file_api_v1_task_subscription, 0);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Describes the message api.v1.UnsubscribeTaskRequest.
|
|
25
|
+
* Use `create(UnsubscribeTaskRequestSchema)` to create a new message.
|
|
26
|
+
*/
|
|
27
|
+
export const UnsubscribeTaskRequestSchema = /*@__PURE__*/
|
|
28
|
+
messageDesc(file_api_v1_task_subscription, 1);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Describes the message api.v1.ListTaskSubscribersRequest.
|
|
32
|
+
* Use `create(ListTaskSubscribersRequestSchema)` to create a new message.
|
|
33
|
+
*/
|
|
34
|
+
export const ListTaskSubscribersRequestSchema = /*@__PURE__*/
|
|
35
|
+
messageDesc(file_api_v1_task_subscription, 2);
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Describes the message api.v1.SubscribeTaskResponse.
|
|
39
|
+
* Use `create(SubscribeTaskResponseSchema)` to create a new message.
|
|
40
|
+
*/
|
|
41
|
+
export const SubscribeTaskResponseSchema = /*@__PURE__*/
|
|
42
|
+
messageDesc(file_api_v1_task_subscription, 3);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Describes the message api.v1.UnsubscribeTaskResponse.
|
|
46
|
+
* Use `create(UnsubscribeTaskResponseSchema)` to create a new message.
|
|
47
|
+
*/
|
|
48
|
+
export const UnsubscribeTaskResponseSchema = /*@__PURE__*/
|
|
49
|
+
messageDesc(file_api_v1_task_subscription, 4);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Describes the message api.v1.ListTaskSubscribersResponse.
|
|
53
|
+
* Use `create(ListTaskSubscribersResponseSchema)` to create a new message.
|
|
54
|
+
*/
|
|
55
|
+
export const ListTaskSubscribersResponseSchema = /*@__PURE__*/
|
|
56
|
+
messageDesc(file_api_v1_task_subscription, 5);
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Service definition. Display-only: store and surface subscribers and the
|
|
60
|
+
* current user's subscription state. No notification/email/SSE side effects.
|
|
61
|
+
*
|
|
62
|
+
* @generated from service api.v1.TaskSubscriptionService
|
|
63
|
+
*/
|
|
64
|
+
export const TaskSubscriptionService = /*@__PURE__*/
|
|
65
|
+
serviceDesc(file_api_v1_task_subscription, 0);
|
|
66
|
+
|