@opsee/mcp-server 0.6.1 → 0.6.4

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.
@@ -1833,6 +1833,11 @@ export declare type Task = Message<"api.v1.Task"> & {
1833
1833
  * @generated from field: repeated api.v1.TaskDependency task_dependencies_incoming = 45;
1834
1834
  */
1835
1835
  taskDependenciesIncoming: TaskDependency[];
1836
+
1837
+ /**
1838
+ * @generated from field: optional uint32 milestone_id = 46;
1839
+ */
1840
+ milestoneId?: number;
1836
1841
  };
1837
1842
 
1838
1843
  /**
@@ -3495,6 +3500,67 @@ export declare type TaskDependency = Message<"api.v1.TaskDependency"> & {
3495
3500
  */
3496
3501
  export declare const TaskDependencySchema: GenMessage<TaskDependency>;
3497
3502
 
3503
+ /**
3504
+ * TaskAcceptanceCriterion is a structured checklist item on a task — the
3505
+ * first-class shape of the AC bullets /tpm writes in task descriptions
3506
+ * today (proposal §3.7). Minimal shape: text + done + display_order.
3507
+ * Audit fields (completed_by_user_id, completed_at) can land later.
3508
+ *
3509
+ * Named TaskAcceptanceCriterion (not AcceptanceCriterion) because
3510
+ * orchestrator.proto already has an AcceptanceCriterion message for
3511
+ * AI-generated planning artifacts; the two are different shapes and the
3512
+ * proto package is shared.
3513
+ *
3514
+ * @generated from message api.v1.TaskAcceptanceCriterion
3515
+ */
3516
+ export declare type TaskAcceptanceCriterion = Message<"api.v1.TaskAcceptanceCriterion"> & {
3517
+ /**
3518
+ * @generated from field: uint32 id = 1;
3519
+ */
3520
+ id: number;
3521
+
3522
+ /**
3523
+ * @generated from field: uint32 task_id = 2;
3524
+ */
3525
+ taskId: number;
3526
+
3527
+ /**
3528
+ * @generated from field: string text = 3;
3529
+ */
3530
+ text: string;
3531
+
3532
+ /**
3533
+ * @generated from field: bool done = 4;
3534
+ */
3535
+ done: boolean;
3536
+
3537
+ /**
3538
+ * @generated from field: int32 display_order = 5;
3539
+ */
3540
+ displayOrder: number;
3541
+
3542
+ /**
3543
+ * @generated from field: uint32 company_id = 6;
3544
+ */
3545
+ companyId: number;
3546
+
3547
+ /**
3548
+ * @generated from field: google.protobuf.Timestamp created_at = 7;
3549
+ */
3550
+ createdAt?: Timestamp;
3551
+
3552
+ /**
3553
+ * @generated from field: google.protobuf.Timestamp updated_at = 8;
3554
+ */
3555
+ updatedAt?: Timestamp;
3556
+ };
3557
+
3558
+ /**
3559
+ * Describes the message api.v1.TaskAcceptanceCriterion.
3560
+ * Use `create(TaskAcceptanceCriterionSchema)` to create a new message.
3561
+ */
3562
+ export declare const TaskAcceptanceCriterionSchema: GenMessage<TaskAcceptanceCriterion>;
3563
+
3498
3564
  /**
3499
3565
  * @generated from enum api.v1.TaskDependencyType
3500
3566
  */
@@ -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+AQoIVGFza1R5cGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRISCgVjb2xvchgDIAEoCUgAiAEBEhEKBGljb24YBCABKAlIAYgBARISCgpwcm9qZWN0X2lkGAUgASgNEiAKB3Byb2plY3QYBiABKAsyDy5hcGkudjEuUHJvamVjdBIVCg1kaXNwbGF5X29yZGVyGAcgASgFEhEKCWlzX2FjdGl2ZRgIIAEoCEIICgZfY29sb3JCBwoFX2ljb24ingEKDFRhc2tQcmlvcml0eRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEg0KBWxldmVsGAMgASgFEhIKBWNvbG9yGAQgASgJSACIAQESEgoKcHJvamVjdF9pZBgFIAEoDRIgCgdwcm9qZWN0GAYgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAcgASgIQggKBl9jb2xvciKjAQoFTGFiZWwSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRINCgVjb2xvchgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgNEiAKB3Byb2plY3QYBSABKAsyDy5hcGkudjEuUHJvamVjdBIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgHIAEoCEIOCgxfZGVzY3JpcHRpb24i5QEKCUNvbXBvbmVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSGQoMbGVhZF91c2VyX2lkGAYgASgNSAGIAQESHwoJbGVhZF91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISEQoJaXNfYWN0aXZlGAggASgIQg4KDF9kZXNjcmlwdGlvbkIPCg1fbGVhZF91c2VyX2lkIskNCgRUYXNrEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKaWRlbnRpZmllchgCIAEoCRINCgV0aXRsZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBSABKAUSGQoMc3RvcnlfcG9pbnRzGAYgASgFSAGIAQESHAoPZXN0aW1hdGVkX2hvdXJzGAcgASgBSAKIAQESGQoMYWN0dWFsX2hvdXJzGAggASgBSAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SHAoFYm9hcmQYDSABKAsyDS5hcGkudjEuQm9hcmQSFwoPYm9hcmRfY29sdW1uX2lkGA4gASgNEikKDGJvYXJkX2NvbHVtbhgPIAEoCzITLmFwaS52MS5Cb2FyZENvbHVtbhISCgpwcm9qZWN0X2lkGBAgASgNEiAKB3Byb2plY3QYESABKAsyDy5hcGkudjEuUHJvamVjdBIUCgx0YXNrX3R5cGVfaWQYEiABKA0SIwoJdGFza190eXBlGBMgASgLMhAuYXBpLnYxLlRhc2tUeXBlEhgKEHRhc2tfcHJpb3JpdHlfaWQYFCABKA0SKwoNdGFza19wcmlvcml0eRgVIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkSGAoQcmVwb3J0ZXJfdXNlcl9pZBgWIAEoDRIjCg1yZXBvcnRlcl91c2VyGBcgASgLMgwuYXBpLnYxLlVzZXISHQoQYXNzaWduZWRfdXNlcl9pZBgYIAEoDUgFiAEBEiMKDWFzc2lnbmVkX3VzZXIYGSABKAsyDC5hcGkudjEuVXNlchIbCg5wYXJlbnRfdGFza19pZBgaIAEoDUgGiAEBEiEKC3BhcmVudF90YXNrGBsgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgcIAEoDRIgCgdjb21wYW55GB0gASgLMg8uYXBpLnYxLkNvbXBhbnkSJgoLdGFza19sYWJlbHMYHiADKAsyES5hcGkudjEuVGFza0xhYmVsEi4KD3Rhc2tfY29tcG9uZW50cxgfIAMoCzIVLmFwaS52MS5UYXNrQ29tcG9uZW50EjIKEXRhc2tfY29udHJpYnV0b3JzGCAgAygLMhcuYXBpLnYxLlRhc2tDb250cmlidXRvchIxChF0YXNrX3JlcG9zaXRvcmllcxghIAMoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeRIzChJ0YXNrX3B1bGxfcmVxdWVzdHMYIiADKAsyFy5hcGkudjEuVGFza1B1bGxSZXF1ZXN0EhUKCGN5Y2xlX2lkGCMgASgNSAeIAQESHAoFY3ljbGUYJCABKAsyDS5hcGkudjEuQ3ljbGUSIgoJd29ya19sb2dzGCUgAygLMg8uYXBpLnYxLldvcmtMb2cSNAoLcmVzb2x2ZWRfYXQYJiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESKwoOdGFza19kb2NfcGFnZXMYJyADKAsyEy5hcGkudjEuVGFza0RvY1BhZ2USLAoOdGFza19kb2N1bWVudHMYKCADKAsyFC5hcGkudjEuVGFza0RvY3VtZW50Ei4KCmNyZWF0ZWRfYXQYKSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYKiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKCW1pbGVzdG9uZRgrIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSOgoadGFza19kZXBlbmRlbmNpZXNfb3V0Z29pbmcYLCADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kSOgoadGFza19kZXBlbmRlbmNpZXNfaW5jb21pbmcYLSADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3lCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWRCDgoMX3Jlc29sdmVkX2F0InQKCVRhc2tMYWJlbBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKBHRhc2sYAyABKAsyDC5hcGkudjEuVGFzaxIQCghsYWJlbF9pZBgEIAEoDRIcCgVsYWJlbBgFIAEoCzINLmFwaS52MS5MYWJlbCKFAQoPVGFza0NvbnRyaWJ1dG9yEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSDwoHdGFza19pZBgDIAEoDRIaCgR0YXNrGAQgASgLMgwuYXBpLnYxLlRhc2sSDwoHdXNlcl9pZBgFIAEoDRIaCgR1c2VyGAYgASgLMgwuYXBpLnYxLlVzZXIihAEKDVRhc2tDb21wb25lbnQSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSFAoMY29tcG9uZW50X2lkGAQgASgNEiQKCWNvbXBvbmVudBgFIAEoCzIRLmFwaS52MS5Db21wb25lbnQi0AEKDlRhc2tSZXBvc2l0b3J5EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoSdmNzX2ludGVncmF0aW9uX2lkGAQgASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgFIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYBiABKA0SNQoScHJvamVjdF9yZXBvc2l0b3J5GAcgASgLMhkuYXBpLnYxLlByb2plY3RSZXBvc2l0b3J5InYKC1Rhc2tEb2NQYWdlEgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SEwoLZG9jX3BhZ2VfaWQYAyABKA0SIQoIZG9jX3BhZ2UYBCABKAsyDy5hcGkudjEuRG9jUGFnZRISCgpjb21wYW55X2lkGAUgASgNIngKDFRhc2tEb2N1bWVudBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhMKC2RvY3VtZW50X2lkGAMgASgNEiIKCGRvY3VtZW50GAQgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCmNvbXBhbnlfaWQYBSABKA0i6QEKD1Rhc2tQdWxsUmVxdWVzdBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgDIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYBCABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkSEQoJcHJfbnVtYmVyGAUgASgFEg0KBXRpdGxlGAYgASgJEgsKA3VybBgHIAEoCRINCgVzdGF0ZRgIIAEoCRIlCghwcm92aWRlchgJIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlciKJAwoHQ29tbWVudBIKCgJpZBgBIAEoDRIPCgdjb250ZW50GAIgASgJEhMKC2lzX2ludGVybmFsGAMgASgIEhQKB3Rhc2tfaWQYBCABKA1IAIgBARIaCgR0YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSGAoLZG9jX3BhZ2VfaWQYBiABKA1IAYgBARIhCghkb2NfcGFnZRgHIAEoCzIPLmFwaS52MS5Eb2NQYWdlEg8KB3VzZXJfaWQYCCABKA0SGgoEdXNlchgJIAEoCzIMLmFwaS52MS5Vc2VyEhIKCmNvbXBhbnlfaWQYCiABKA0SIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF90YXNrX2lkQg4KDF9kb2NfcGFnZV9pZCL8AgoKQXR0YWNobWVudBIKCgJpZBgBIAEoDRIQCghmaWxlbmFtZRgCIAEoCRIRCglmaWxlX3NpemUYAyABKAMSEQoJbWltZV90eXBlGAQgASgJEhQKDHN0b3JhZ2VfcGF0aBgFIAEoCRIXCgpwdWJsaWNfdXJsGAYgASgJSACIAQESFAoHdGFza19pZBgHIAEoDUgBiAEBEhoKBHRhc2sYCCABKAsyDC5hcGkudjEuVGFzaxIYCgtkb2NfcGFnZV9pZBgJIAEoDUgCiAEBEiEKCGRvY19wYWdlGAogASgLMg8uYXBpLnYxLkRvY1BhZ2USDwoHdXNlcl9pZBgLIAEoDRIaCgR1c2VyGAwgASgLMgwuYXBpLnYxLlVzZXISEgoKY29tcGFueV9pZBgNIAEoDRIgCgdjb21wYW55GA4gASgLMg8uYXBpLnYxLkNvbXBhbnlCDQoLX3B1YmxpY191cmxCCgoIX3Rhc2tfaWRCDgoMX2RvY19wYWdlX2lkIlEKC0FJUnVuU3RhdHVzEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24iaAoLQUlVbml0U3RhZ2USCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAVCDgoMX2Rlc2NyaXB0aW9uIlIKDEFJVW5pdFN0YXR1cxIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIlQKDkFJVW5pdENhdGVnb3J5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24i6AUKDUFJV29ya2Zsb3dSdW4SCgoCaWQYASABKA0SHQoVYWlfY3JlZGl0c191c2VkX3RvdGFsGAIgASgFEhoKDW1ldGFkYXRhX2pzb24YAyABKAlIAIgBARIPCgd0YXNrX2lkGAQgASgNEhoKBHRhc2sYBSABKAsyDC5hcGkudjEuVGFzaxIcChR0cmlnZ2VyZWRfYnlfdXNlcl9pZBgGIAEoDRInChF0cmlnZ2VyZWRfYnlfdXNlchgHIAEoCzIMLmFwaS52MS5Vc2VyEhgKEGFpX3J1bl9zdGF0dXNfaWQYCCABKA0SKgoNYWlfcnVuX3N0YXR1cxgJIAEoCzITLmFwaS52MS5BSVJ1blN0YXR1cxIdChBjdXJyZW50X3N0YWdlX2lkGAogASgNSAGIAQESKgoNY3VycmVudF9zdGFnZRgLIAEoCzITLmFwaS52MS5BSVVuaXRTdGFnZRIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIMCgRuYW1lGA4gASgJEjMKCnN0YXJ0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESNQoMY29tcGxldGVkX2F0GBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgDiAEBEiIKFXJlc3RhcnRlZF9mcm9tX3J1bl9pZBgRIAEoDUgEiAEBEhoKDXNvdXJjZV9icmFuY2gYEiABKAlIBYgBAUIQCg5fbWV0YWRhdGFfanNvbkITChFfY3VycmVudF9zdGFnZV9pZEINCgtfc3RhcnRlZF9hdEIPCg1fY29tcGxldGVkX2F0QhgKFl9yZXN0YXJ0ZWRfZnJvbV9ydW5faWRCEAoOX3NvdXJjZV9icmFuY2gi+wcKDkFJV29ya2Zsb3dVbml0EgoKAmlkGAEgASgNEhYKDnNlcXVlbmNlX29yZGVyGAIgASgFEhgKEHdvcmtfZGVzY3JpcHRpb24YAyABKAkSFwoKdmNzX2JyYW5jaBgEIAEoCUgAiAEBEhcKCnZjc19wcl91cmwYBSABKAlIAYgBARIbCg5kZXBsb3ltZW50X3VybBgGIAEoCUgCiAEBEh4KEXRlc3RfcmVzdWx0c19qc29uGAcgASgJSAOIAQESFgoJZXJyb3JfbG9nGAggASgJSASIAQESFwoPYWlfY3JlZGl0c191c2VkGAkgASgFEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIaChJhaV93b3JrZmxvd19ydW5faWQYCyABKA0SLgoPYWlfd29ya2Zsb3dfcnVuGAwgASgLMhUuYXBpLnYxLkFJV29ya2Zsb3dSdW4SDwoHdGFza19pZBgNIAEoDRIaCgR0YXNrGA4gASgLMgwuYXBpLnYxLlRhc2sSGgoSdmNzX2ludGVncmF0aW9uX2lkGA8gASgNEi8KD3Zjc19pbnRlZ3JhdGlvbhgQIAEoCzIWLmFwaS52MS5WQ1NJbnRlZ3JhdGlvbhIgChNhaV91bml0X2NhdGVnb3J5X2lkGBEgASgNSAaIAQESMAoQYWlfdW5pdF9jYXRlZ29yeRgSIAEoCzIWLmFwaS52MS5BSVVuaXRDYXRlZ29yeRIYChBhaV91bml0X3N0YWdlX2lkGBMgASgNEioKDWFpX3VuaXRfc3RhZ2UYFCABKAsyEy5hcGkudjEuQUlVbml0U3RhZ2USGQoRYWlfdW5pdF9zdGF0dXNfaWQYFSABKA0SLAoOYWlfdW5pdF9zdGF0dXMYFiABKAsyFC5hcGkudjEuQUlVbml0U3RhdHVzEh8KEmRlcGVuZHNfb25fdW5pdF9pZBgXIAEoDUgHiAEBEi8KD2RlcGVuZHNfb25fdW5pdBgYIAEoCzIWLmFwaS52MS5BSVdvcmtmbG93VW5pdBIuCgpjcmVhdGVkX2F0GBkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEINCgtfdmNzX2JyYW5jaEINCgtfdmNzX3ByX3VybEIRCg9fZGVwbG95bWVudF91cmxCFAoSX3Rlc3RfcmVzdWx0c19qc29uQgwKCl9lcnJvcl9sb2dCEAoOX21ldGFkYXRhX2pzb25CFgoUX2FpX3VuaXRfY2F0ZWdvcnlfaWRCFQoTX2RlcGVuZHNfb25fdW5pdF9pZCL/AQoLRW52aXJvbm1lbnQSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIRCgR0eXBlGAMgASgJSACIAQESGgoNazhzX25hbWVzcGFjZRgEIAEoCUgBiAEBEhgKC2Jhc2VfZG9tYWluGAUgASgJSAKIAQESGgoNbWV0YWRhdGFfanNvbhgGIAEoCUgDiAEBEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0QgcKBV90eXBlQhAKDl9rOHNfbmFtZXNwYWNlQg4KDF9iYXNlX2RvbWFpbkIQCg5fbWV0YWRhdGFfanNvbiKiAgoKRGVwbG95bWVudBIKCgJpZBgBIAEoDRIOCgZzdGF0dXMYAiABKAkSEAoDdXJsGAMgASgJSACIAQESFQoIbG9nc191cmwYBCABKAlIAYgBARIaCg1tZXRhZGF0YV9qc29uGAUgASgJSAKIAQESFgoOZW52aXJvbm1lbnRfaWQYBiABKA0SKAoLZW52aXJvbm1lbnQYByABKAsyEy5hcGkudjEuRW52aXJvbm1lbnQSGgoSYWlfd29ya2Zsb3dfcnVuX2lkGAggASgNEi4KD2FpX3dvcmtmbG93X3J1bhgJIAEoCzIVLmFwaS52MS5BSVdvcmtmbG93UnVuQgYKBF91cmxCCwoJX2xvZ3NfdXJsQhAKDl9tZXRhZGF0YV9qc29uIvwBCgdUZXN0UnVuEgoKAmlkGAEgASgNEgwKBHR5cGUYAiABKAkSDgoGc3RhdHVzGAMgASgJEhYKCWZyYW1ld29yaxgEIAEoCUgAiAEBEhcKCnJlcG9ydF91cmwYBSABKAlIAYgBARIZCgxyZXN1bHRzX2pzb24YBiABKAlIAogBARIbChNhaV93b3JrZmxvd191bml0X2lkGAcgASgNEjAKEGFpX3dvcmtmbG93X3VuaXQYCCABKAsyFi5hcGkudjEuQUlXb3JrZmxvd1VuaXRCDAoKX2ZyYW1ld29ya0INCgtfcmVwb3J0X3VybEIPCg1fcmVzdWx0c19qc29uIsQCCgtBY3Rpdml0eUxvZxIKCgJpZBgBIAEoDRIOCgZhY3Rpb24YAiABKAkSEwoLZW50aXR5X3R5cGUYAyABKAkSEQoJZW50aXR5X2lkGAQgASgNEhMKC2Rlc2NyaXB0aW9uGAUgASgJEhoKDW1ldGFkYXRhX2pzb24YBiABKAlIAIgBARIXCgppcF9hZGRyZXNzGAcgASgJSAGIAQESFAoHdXNlcl9pZBgIIAEoDUgCiAEBEhoKBHVzZXIYCSABKAsyDC5hcGkudjEuVXNlchIXCgpwcm9qZWN0X2lkGAogASgNSAOIAQESIAoHcHJvamVjdBgLIAEoCzIPLmFwaS52MS5Qcm9qZWN0QhAKDl9tZXRhZGF0YV9qc29uQg0KC19pcF9hZGRyZXNzQgoKCF91c2VyX2lkQg0KC19wcm9qZWN0X2lkIocDCgxOb3RpZmljYXRpb24SCgoCaWQYASABKA0SDQoFdGl0bGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIZChFub3RpZmljYXRpb25fdHlwZRgEIAEoCRIYCgtlbnRpdHlfdHlwZRgFIAEoCUgAiAEBEhYKCWVudGl0eV9pZBgGIAEoDUgBiAEBEhcKCmFjdGlvbl91cmwYByABKAlIAogBARIPCgdpc19yZWFkGAggASgIEhYKDnNlbnRfdmlhX2VtYWlsGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIA4gBARIPCgd1c2VyX2lkGAsgASgNEhoKBHVzZXIYDCABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGA0gASgNEiAKB2NvbXBhbnkYDiABKAsyDy5hcGkudjEuQ29tcGFueUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEINCgtfYWN0aW9uX3VybEIQCg5fbWV0YWRhdGFfanNvbiJbCgdDb3VudHJ5EgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSEAoIaXNvX2NvZGUYAyABKAkSEQoJaXNvX2NvZGUyGAQgASgJEhEKCWRpYWxfY29kZRgFIAEoCSL1BAoIRG9jdW1lbnQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIQCghmaWxlbmFtZRgCIAEoCRIRCgltaW1lX3R5cGUYAyABKAkSDAoEc2l6ZRgEIAEoAxITCgtzdG9yYWdlX3VybBgFIAEoCRITCgZzaGEyNTYYBiABKAlIAIgBARIWCglkaXNrX25hbWUYByABKAlIAYgBARIRCgRraW5kGAggASgJSAKIAQESEQoJaXNfZm9sZGVyGAkgASgIEhYKCWZ1bGxfcGF0aBgKIAEoCUgDiAEBEh0KEHBhcmVudF9mb2xkZXJfaWQYCyABKA1IBIgBARInCg1wYXJlbnRfZm9sZGVyGAwgASgLMhAuYXBpLnYxLkRvY3VtZW50EhIKCnByb2plY3RfaWQYDSABKA0SIAoHcHJvamVjdBgOIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhIKCmNvbXBhbnlfaWQYDyABKA0SIAoHY29tcGFueRgQIAEoCzIPLmFwaS52MS5Db21wYW55EhsKE3VwbG9hZGVkX2J5X3VzZXJfaWQYESABKA0SJgoQdXBsb2FkZWRfYnlfdXNlchgSIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYEyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgkKB19zaGEyNTZCDAoKX2Rpc2tfbmFtZUIHCgVfa2luZEIMCgpfZnVsbF9wYXRoQhMKEV9wYXJlbnRfZm9sZGVyX2lkIt0BCgxEb2N1bWVudExpbmsSCgoCaWQYASABKA0SEQoJbGlua19raW5kGAIgASgJEg8KB2xpbmtfaWQYAyABKA0SEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDRIgCgdjb21wYW55GAcgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiiAIKB1dvcmtMb2cSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaCgR0YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSDwoHdXNlcl9pZBgEIAEoDRIaCgR1c2VyGAUgASgLMgwuYXBpLnYxLlVzZXISDQoFaG91cnMYBiABKAESGAoLZGVzY3JpcHRpb24YByABKAlIAIgBARIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb24ihwMKCU1pbGVzdG9uZRIKCgJpZBgBIAEoDRIMCgR1dWlkGAIgASgJEgwKBG5hbWUYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIzCgpzdGFydF9kYXRlGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjEKCGVuZF9kYXRlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEg4KBnN0YXR1cxgHIAEoCRISCgpwcm9qZWN0X2lkGAggASgNEiAKB3Byb2plY3QYCSABKAsyDy5hcGkudjEuUHJvamVjdBIuCgpjcmVhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZGVzY3JpcHRpb25CDQoLX3N0YXJ0X2RhdGVCCwoJX2VuZF9kYXRlIpgBCg1NaWxlc3RvbmVUYXNrEgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEg8KB3Rhc2tfaWQYBCABKA0SGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhIKCmNvbXBhbnlfaWQYBiABKA0ipgEKEE1pbGVzdG9uZURvY1BhZ2USCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jX3BhZ2VfaWQYBCABKA0SIQoIZG9jX3BhZ2UYBSABKAsyDy5hcGkudjEuRG9jUGFnZRISCgpjb21wYW55X2lkGAYgASgNIscBChNNaWxlc3RvbmVSZXBvc2l0b3J5EgoKAmlkGAEgASgNEhQKDG1pbGVzdG9uZV9pZBgCIAEoDRIkCgltaWxlc3RvbmUYAyABKAsyES5hcGkudjEuTWlsZXN0b25lEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgEIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYBSABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkSEgoKY29tcGFueV9pZBgGIAEoDSKoAQoRTWlsZXN0b25lRG9jdW1lbnQSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSEwoLZG9jdW1lbnRfaWQYBCABKA0SIgoIZG9jdW1lbnQYBSABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgGIAEoDSKkAgoOVGFza0RlcGVuZGVuY3kSCgoCaWQYASABKA0SFAoMZnJvbV90YXNrX2lkGAIgASgNEh8KCWZyb21fdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEhIKCnRvX3Rhc2tfaWQYBCABKA0SHQoHdG9fdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEigKBHR5cGUYBiABKA4yGi5hcGkudjEuVGFza0RlcGVuZGVuY3lUeXBlEhIKCmNvbXBhbnlfaWQYByABKA0SLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAqygEKElRhc2tEZXBlbmRlbmN5VHlwZRIkCiBUQVNLX0RFUEVOREVOQ1lfVFlQRV9VTlNQRUNJRklFRBAAEh8KG1RBU0tfREVQRU5ERU5DWV9UWVBFX0JMT0NLUxABEiMKH1RBU0tfREVQRU5ERU5DWV9UWVBFX0JMT0NLRURfQlkQAhIjCh9UQVNLX0RFUEVOREVOQ1lfVFlQRV9EVVBMSUNBVEVTEAMSIwofVEFTS19ERVBFTkRFTkNZX1RZUEVfUkVMQVRFU19UTxAEQnAKCmNvbS5hcGkudjFCC01vZGVsc1Byb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_api_v1_vcs]);
13
+ fileDesc("ChNhcGkvdjEvbW9kZWxzLnByb3RvEgZhcGkudjEiJgoKUGVybWlzc2lvbhIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJImgKBFJvbGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIdCgdwYXJlbnRzGAMgAygLMgwuYXBpLnYxLlJvbGUSJwoLcGVybWlzc2lvbnMYBCADKAsyEi5hcGkudjEuUGVybWlzc2lvbiLhAgoEVXNlchIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEg0KBWVtYWlsGAIgASgJEhIKCmZpcnN0X25hbWUYAyABKAkSEQoJbGFzdF9uYW1lGAQgASgJEhEKCWZ1bGxfbmFtZRgFIAEoCRIVCg1wcm92aWRlcl9uYW1lGAYgASgJEhsKBXJvbGVzGAcgAygLMgwuYXBpLnYxLlJvbGUSJQoPZmxhdHRlbmVkX3JvbGVzGAggAygLMgwuYXBpLnYxLlJvbGUSEgoKY3JlYXRlZF9hdBgJIAEoCRISCgpjb21wYW55X2lkGAogASgNEiAKB2NvbXBhbnkYCyABKAsyDy5hcGkudjEuQ29tcGFueRINCgVwaG9uZRgMIAEoCRIYChBwaG9uZV9jb3VudHJ5X2lkGA0gASgNEhIKCmF2YXRhcl91cmwYDiABKAkSFAoMYXZhdGFyX2NvbG9yGA8gASgJItAECgdDb21wYW55EgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESGAoLd2Vic2l0ZV91cmwYBSABKAlIAYgBARIVCghpbmR1c3RyeRgGIAEoCUgCiAEBEhEKBHNpemUYByABKAlIA4gBARIaCg1zZXR0aW5nc19qc29uGAggASgJSASIAQESEQoJaXNfYWN0aXZlGAkgASgIEhoKDWJpbGxpbmdfZW1haWwYCiABKAlIBYgBARIUCgdhZGRyZXNzGAsgASgJSAaIAQESFQoIYWRkcmVzczIYDCABKAlIB4gBARIRCgRjaXR5GA0gASgJSAiIAQESEgoFc3RhdGUYDiABKAlICYgBARIVCgh6aXBfY29kZRgPIAEoCUgKiAEBEhcKCmNvdW50cnlfaWQYECABKA1IC4gBARITCgZ0YXhfaWQYESABKAlIDIgBARIgCgdjb3VudHJ5GBIgASgLMg8uYXBpLnYxLkNvdW50cnlCDgoMX2Rlc2NyaXB0aW9uQg4KDF93ZWJzaXRlX3VybEILCglfaW5kdXN0cnlCBwoFX3NpemVCEAoOX3NldHRpbmdzX2pzb25CEAoOX2JpbGxpbmdfZW1haWxCCgoIX2FkZHJlc3NCCwoJX2FkZHJlc3MyQgcKBV9jaXR5QggKBl9zdGF0ZUILCglfemlwX2NvZGVCDQoLX2NvdW50cnlfaWRCCQoHX3RheF9pZCLkBAoMU3Vic2NyaXB0aW9uEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKY29tcGFueV9pZBgCIAEoDRIaChJzdHJpcGVfY3VzdG9tZXJfaWQYAyABKAkSIwoWc3RyaXBlX3N1YnNjcmlwdGlvbl9pZBgEIAEoCUgAiAEBEg4KBnN0YXR1cxgFIAEoCRI9ChRjdXJyZW50X3BlcmlvZF9zdGFydBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARI7ChJjdXJyZW50X3BlcmlvZF9lbmQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESHgoRcGF5bWVudF9tZXRob2RfaWQYCCABKA1IA4gBARInCgVpdGVtcxgJIAMoCzIYLmFwaS52MS5TdWJzY3JpcHRpb25JdGVtEi0KDnBheW1lbnRfbWV0aG9kGAogASgLMhUuYXBpLnYxLlBheW1lbnRNZXRob2QSIAoHY29tcGFueRgLIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhkKF19zdHJpcGVfc3Vic2NyaXB0aW9uX2lkQhcKFV9jdXJyZW50X3BlcmlvZF9zdGFydEIVChNfY3VycmVudF9wZXJpb2RfZW5kQhQKEl9wYXltZW50X21ldGhvZF9pZCKAAgoQU3Vic2NyaXB0aW9uSXRlbRIKCgJpZBgBIAEoDRIXCg9zdWJzY3JpcHRpb25faWQYAiABKA0SFAoMcHJvZHVjdF90eXBlGAMgASgJEhAKCHF1YW50aXR5GAQgASgFEhIKCnVuaXRfcHJpY2UYBSABKAMSGAoQYmlsbGluZ19pbnRlcnZhbBgGIAEoCRIRCglpc19hY3RpdmUYByABKAgSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAixAIKDVBheW1lbnRNZXRob2QSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRISCgpjb21wYW55X2lkGAIgASgNEhgKEHN0cmlwZV9tZXRob2RfaWQYAyABKAkSDAoEdHlwZRgEIAEoCRINCgVsYXN0NBgFIAEoCRINCgVicmFuZBgGIAEoCRIUCgxleHBpcnlfbW9udGgYByABKAUSEwoLZXhwaXJ5X3llYXIYCCABKAUSEgoKaXNfZGVmYXVsdBgJIAEoCBIgCgdjb21wYW55GAogASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAioAIKDVByb2R1Y3RDb25maWcSCgoCaWQYASABKA0SFAoMcHJvZHVjdF90eXBlGAIgASgJEhUKDW1vbnRobHlfcHJpY2UYAyABKAMSFAoMeWVhcmx5X3ByaWNlGAQgASgDEhUKDWZyZWVfcXVhbnRpdHkYBSABKAUSFAoMaXNfcmVjdXJyaW5nGAYgASgIEhkKEXN0cmlwZV9tb250aGx5X2lkGAcgASgJEhgKEHN0cmlwZV95ZWFybHlfaWQYCCABKAkSLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAizAIKDkNvbXBhbnlDcmVkaXRzEgoKAmlkGAEgASgNEhIKCmNvbXBhbnlfaWQYAiABKA0SFQoNdG90YWxfY3JlZGl0cxgDIAEoBRIUCgx1c2VkX2NyZWRpdHMYBCABKAUSGQoRYXZhaWxhYmxlX2NyZWRpdHMYBSABKAUSOgoRbGFzdF9hbGxvY2F0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESIAoHY29tcGFueRgHIAEoCzIPLmFwaS52MS5Db21wYW55Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhQKEl9sYXN0X2FsbG9jYXRlZF9hdCKjAgoRQ3JlZGl0VHJhbnNhY3Rpb24SCgoCaWQYASABKA0SEgoKY29tcGFueV9pZBgCIAEoDRIOCgZhbW91bnQYAyABKAUSDgoGcmVhc29uGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgJSAGIAQESGgoNbWV0YWRhdGFfanNvbhgHIAEoCUgCiAEBEiAKB2NvbXBhbnkYCCABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEIQCg5fbWV0YWRhdGFfanNvbiL0AQoHUHJvamVjdBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSDAoEc2x1ZxgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgFIAEoCBIaCg1zZXR0aW5nc19qc29uGAYgASgJSAGIAQESEgoKY29tcGFueV9pZBgHIAEoDRIgCgdjb21wYW55GAggASgLMg8uYXBpLnYxLkNvbXBhbnkSEgoKc2hvcnRfbmFtZRgJIAEoCUIOCgxfZGVzY3JpcHRpb25CEAoOX3NldHRpbmdzX2pzb24ipQEKEVByb2plY3RNZW1iZXJzaGlwEgoKAmlkGAEgASgNEgwKBHJvbGUYAiABKAkSEwoLaXNfZmF2b3JpdGUYAyABKAgSEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSDwoHdXNlcl9pZBgGIAEoDRIaCgR1c2VyGAcgASgLMgwuYXBpLnYxLlVzZXIiwgIKCERvY1NwYWNlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARISCgppc19kZWZhdWx0GAUgASgIEhMKC2lzX2FyY2hpdmVkGAYgASgIEhIKCnByb2plY3RfaWQYByABKA0SIAoHcHJvamVjdBgIIAEoCzIPLmFwaS52MS5Qcm9qZWN0EhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgJIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYCiABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYCyABKA0SJQoPdXBkYXRlZF9ieV91c2VyGAwgASgLMgwuYXBpLnYxLlVzZXJCDgoMX2Rlc2NyaXB0aW9uIvsDCgdEb2NQYWdlEgoKAmlkGAEgASgNEg0KBXRpdGxlGAIgASgJEgwKBHNsdWcYAyABKAkSFwoPY3VycmVudF9jb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIeChZjdXJyZW50X3ZlcnNpb25fbnVtYmVyGAYgASgFEg8KB2lzX3Jvb3QYByABKAgSEwoLaXNfYXJjaGl2ZWQYCCABKAgSFQoNZGlzcGxheV9vcmRlchgJIAEoBRIUCgxkb2Nfc3BhY2VfaWQYCiABKA0SIwoJZG9jX3NwYWNlGAsgASgLMhAuYXBpLnYxLkRvY1NwYWNlEhsKDnBhcmVudF9wYWdlX2lkGAwgASgNSACIAQESJAoLcGFyZW50X3BhZ2UYDSABKAsyDy5hcGkudjEuRG9jUGFnZRIkCgtjaGlsZF9wYWdlcxgOIAMoCzIPLmFwaS52MS5Eb2NQYWdlEhoKEmNyZWF0ZWRfYnlfdXNlcl9pZBgPIAEoDRIlCg9jcmVhdGVkX2J5X3VzZXIYECABKAsyDC5hcGkudjEuVXNlchIaChJ1cGRhdGVkX2J5X3VzZXJfaWQYESABKA0SJQoPdXBkYXRlZF9ieV91c2VyGBIgASgLMgwuYXBpLnYxLlVzZXJCEQoPX3BhcmVudF9wYWdlX2lkIvUCCg5Eb2NQYWdlVmVyc2lvbhIKCgJpZBgBIAEoDRIWCg52ZXJzaW9uX251bWJlchgCIAEoBRINCgV0aXRsZRgDIAEoCRIPCgdjb250ZW50GAQgASgJEhQKDGNvbnRlbnRfdHlwZRgFIAEoCRIbCg5jaGFuZ2Vfc3VtbWFyeRgGIAEoCUgAiAEBEhMKC2RvY19wYWdlX2lkGAcgASgNEiEKCGRvY19wYWdlGAggASgLMg8uYXBpLnYxLkRvY1BhZ2USGgoSY3JlYXRlZF9ieV91c2VyX2lkGAkgASgNEiUKD2NyZWF0ZWRfYnlfdXNlchgKIAEoCzIMLmFwaS52MS5Vc2VyEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQhEKD19jaGFuZ2Vfc3VtbWFyeSKQCAoOVkNTSW50ZWdyYXRpb24SCgoCaWQYASABKA0SEgoKcmVwb19vd25lchgCIAEoCRIRCglyZXBvX25hbWUYAyABKAkSFwoPdG9rZW5fZW5jcnlwdGVkGAQgASgJEhYKDmRlZmF1bHRfYnJhbmNoGAUgASgJEhsKDndlYmhvb2tfc2VjcmV0GAYgASgJSACIAQESHQoQcGVybWlzc2lvbnNfanNvbhgHIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgIIAEoCBISCgpwcm9qZWN0X2lkGAkgASgNEiAKB3Byb2plY3QYCiABKAsyDy5hcGkudjEuUHJvamVjdBIcCg9pbnN0YWxsYXRpb25faWQYCyABKANIAogBARITCgZhcHBfaWQYDCABKAlIA4gBARIpChxpbnN0YWxsYXRpb25fdG9rZW5fZW5jcnlwdGVkGA0gASgJSASIAQESRgodaW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESGAoLb2F1dGhfc3RhdGUYDyABKAlIBogBARIYChBhdXRvX3N5bmNfaXNzdWVzGBAgASgIEhoKEmVuYWJsZV9wcl93ZWJob29rcxgRIAEoCBIlCghwcm92aWRlchgeIAEoDjITLmFwaS52MS5WQ1NQcm92aWRlchIZCgxpbnN0YW5jZV91cmwYHyABKAlIB4gBARIjChZhY2Nlc3NfdG9rZW5fZW5jcnlwdGVkGCAgASgJSAiIAQESJAoXcmVmcmVzaF90b2tlbl9lbmNyeXB0ZWQYISABKAlICYgBARI5ChB0b2tlbl9leHBpcmVzX2F0GCIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBEhwKD2dpdGxhYl9ncm91cF9pZBgjIAEoA0gLiAEBEhsKDmdpdGxhYl91c2VyX2lkGCQgASgDSAyIAQFCEQoPX3dlYmhvb2tfc2VjcmV0QhMKEV9wZXJtaXNzaW9uc19qc29uQhIKEF9pbnN0YWxsYXRpb25faWRCCQoHX2FwcF9pZEIfCh1faW5zdGFsbGF0aW9uX3Rva2VuX2VuY3J5cHRlZEIgCh5faW5zdGFsbGF0aW9uX3Rva2VuX2V4cGlyZXNfYXRCDgoMX29hdXRoX3N0YXRlQg8KDV9pbnN0YW5jZV91cmxCGQoXX2FjY2Vzc190b2tlbl9lbmNyeXB0ZWRCGgoYX3JlZnJlc2hfdG9rZW5fZW5jcnlwdGVkQhMKEV90b2tlbl9leHBpcmVzX2F0QhIKEF9naXRsYWJfZ3JvdXBfaWRCEQoPX2dpdGxhYl91c2VyX2lkItAEChFQcm9qZWN0UmVwb3NpdG9yeRIKCgJpZBgBIAEoDRISCgpwcm9qZWN0X2lkGAIgASgNEiAKB3Byb2plY3QYAyABKAsyDy5hcGkudjEuUHJvamVjdBIaChJ2Y3NfaW50ZWdyYXRpb25faWQYBCABKA0SLwoPdmNzX2ludGVncmF0aW9uGAUgASgLMhYuYXBpLnYxLlZDU0ludGVncmF0aW9uEhUKDXJlcG9zaXRvcnlfaWQYBiABKAMSGAoQcmVwb3NpdG9yeV9vd25lchgHIAEoCRIXCg9yZXBvc2l0b3J5X25hbWUYCCABKAkSHAoUcmVwb3NpdG9yeV9mdWxsX25hbWUYCSABKAkSFgoOZGVmYXVsdF9icmFuY2gYCiABKAkSEgoKaXNfcHJpdmF0ZRgLIAEoCBIYCgtkZXNjcmlwdGlvbhgMIAEoCUgAiAEBEgsKA3VybBgNIAEoCRIRCglpc19hY3RpdmUYDiABKAgSLgoKY3JlYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGAoQYXV0b19zeW5jX2lzc3VlcxgRIAEoCBIaChJlbmFibGVfcHJfd2ViaG9va3MYEiABKAgSJQoIcHJvdmlkZXIYEyABKA4yEy5hcGkudjEuVkNTUHJvdmlkZXISEQoJY2xvbmVfdXJsGBQgASgJQg4KDF9kZXNjcmlwdGlvbiK5AQoFQm9hcmQSCgoCaWQYASABKA0SDAoEdXVpZBgyIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFQoNZGlzcGxheV9vcmRlchgEIAEoBRIRCglpc19hY3RpdmUYBSABKAgSEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3RCDgoMX2Rlc2NyaXB0aW9uIo4CCgVDeWNsZRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhEKBGdvYWwYAyABKAlIAIgBARIuCgpzdGFydF9kYXRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCghlbmRfZGF0ZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKcHJvamVjdF9pZBgGIAEoDRIgCgdwcm9qZWN0GAcgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAggASgIEhgKC2Rlc2NyaXB0aW9uGAkgASgJSAGIAQFCBwoFX2dvYWxCDgoMX2Rlc2NyaXB0aW9uIt8BCgtCb2FyZENvbHVtbhIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEgwKBG5hbWUYAiABKAkSFQoNZGlzcGxheV9vcmRlchgDIAEoBRISCgVjb2xvchgEIAEoCUgAiAEBEhwKD2xpZmVjeWNsZV9zdGF0ZRgFIAEoCUgBiAEBEhEKCWlzX2FjdGl2ZRgGIAEoCBIQCghib2FyZF9pZBgHIAEoDRIcCgVib2FyZBgIIAEoCzINLmFwaS52MS5Cb2FyZEIICgZfY29sb3JCEgoQX2xpZmVjeWNsZV9zdGF0ZSK+AQoIVGFza1R5cGUSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRISCgVjb2xvchgDIAEoCUgAiAEBEhEKBGljb24YBCABKAlIAYgBARISCgpwcm9qZWN0X2lkGAUgASgNEiAKB3Byb2plY3QYBiABKAsyDy5hcGkudjEuUHJvamVjdBIVCg1kaXNwbGF5X29yZGVyGAcgASgFEhEKCWlzX2FjdGl2ZRgIIAEoCEIICgZfY29sb3JCBwoFX2ljb24ingEKDFRhc2tQcmlvcml0eRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEg0KBWxldmVsGAMgASgFEhIKBWNvbG9yGAQgASgJSACIAQESEgoKcHJvamVjdF9pZBgFIAEoDRIgCgdwcm9qZWN0GAYgASgLMg8uYXBpLnYxLlByb2plY3QSEQoJaXNfYWN0aXZlGAcgASgIQggKBl9jb2xvciKjAQoFTGFiZWwSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRINCgVjb2xvchgDIAEoCRISCgpwcm9qZWN0X2lkGAQgASgNEiAKB3Byb2plY3QYBSABKAsyDy5hcGkudjEuUHJvamVjdBIYCgtkZXNjcmlwdGlvbhgGIAEoCUgAiAEBEhEKCWlzX2FjdGl2ZRgHIAEoCEIOCgxfZGVzY3JpcHRpb24i5QEKCUNvbXBvbmVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESEgoKcHJvamVjdF9pZBgEIAEoDRIgCgdwcm9qZWN0GAUgASgLMg8uYXBpLnYxLlByb2plY3QSGQoMbGVhZF91c2VyX2lkGAYgASgNSAGIAQESHwoJbGVhZF91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISEQoJaXNfYWN0aXZlGAggASgIQg4KDF9kZXNjcmlwdGlvbkIPCg1fbGVhZF91c2VyX2lkIvUNCgRUYXNrEgoKAmlkGAEgASgNEgwKBHV1aWQYMiABKAkSEgoKaWRlbnRpZmllchgCIAEoCRINCgV0aXRsZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKDWRpc3BsYXlfb3JkZXIYBSABKAUSGQoMc3RvcnlfcG9pbnRzGAYgASgFSAGIAQESHAoPZXN0aW1hdGVkX2hvdXJzGAcgASgBSAKIAQESGQoMYWN0dWFsX2hvdXJzGAggASgBSAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SHAoFYm9hcmQYDSABKAsyDS5hcGkudjEuQm9hcmQSFwoPYm9hcmRfY29sdW1uX2lkGA4gASgNEikKDGJvYXJkX2NvbHVtbhgPIAEoCzITLmFwaS52MS5Cb2FyZENvbHVtbhISCgpwcm9qZWN0X2lkGBAgASgNEiAKB3Byb2plY3QYESABKAsyDy5hcGkudjEuUHJvamVjdBIUCgx0YXNrX3R5cGVfaWQYEiABKA0SIwoJdGFza190eXBlGBMgASgLMhAuYXBpLnYxLlRhc2tUeXBlEhgKEHRhc2tfcHJpb3JpdHlfaWQYFCABKA0SKwoNdGFza19wcmlvcml0eRgVIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkSGAoQcmVwb3J0ZXJfdXNlcl9pZBgWIAEoDRIjCg1yZXBvcnRlcl91c2VyGBcgASgLMgwuYXBpLnYxLlVzZXISHQoQYXNzaWduZWRfdXNlcl9pZBgYIAEoDUgFiAEBEiMKDWFzc2lnbmVkX3VzZXIYGSABKAsyDC5hcGkudjEuVXNlchIbCg5wYXJlbnRfdGFza19pZBgaIAEoDUgGiAEBEiEKC3BhcmVudF90YXNrGBsgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgcIAEoDRIgCgdjb21wYW55GB0gASgLMg8uYXBpLnYxLkNvbXBhbnkSJgoLdGFza19sYWJlbHMYHiADKAsyES5hcGkudjEuVGFza0xhYmVsEi4KD3Rhc2tfY29tcG9uZW50cxgfIAMoCzIVLmFwaS52MS5UYXNrQ29tcG9uZW50EjIKEXRhc2tfY29udHJpYnV0b3JzGCAgAygLMhcuYXBpLnYxLlRhc2tDb250cmlidXRvchIxChF0YXNrX3JlcG9zaXRvcmllcxghIAMoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeRIzChJ0YXNrX3B1bGxfcmVxdWVzdHMYIiADKAsyFy5hcGkudjEuVGFza1B1bGxSZXF1ZXN0EhUKCGN5Y2xlX2lkGCMgASgNSAeIAQESHAoFY3ljbGUYJCABKAsyDS5hcGkudjEuQ3ljbGUSIgoJd29ya19sb2dzGCUgAygLMg8uYXBpLnYxLldvcmtMb2cSNAoLcmVzb2x2ZWRfYXQYJiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQESKwoOdGFza19kb2NfcGFnZXMYJyADKAsyEy5hcGkudjEuVGFza0RvY1BhZ2USLAoOdGFza19kb2N1bWVudHMYKCADKAsyFC5hcGkudjEuVGFza0RvY3VtZW50Ei4KCmNyZWF0ZWRfYXQYKSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYKiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKCW1pbGVzdG9uZRgrIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSOgoadGFza19kZXBlbmRlbmNpZXNfb3V0Z29pbmcYLCADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kSOgoadGFza19kZXBlbmRlbmNpZXNfaW5jb21pbmcYLSADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kSGQoMbWlsZXN0b25lX2lkGC4gASgNSAmIAQFCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWRCDgoMX3Jlc29sdmVkX2F0Qg8KDV9taWxlc3RvbmVfaWQidAoJVGFza0xhYmVsEgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SGgoEdGFzaxgDIAEoCzIMLmFwaS52MS5UYXNrEhAKCGxhYmVsX2lkGAQgASgNEhwKBWxhYmVsGAUgASgLMg0uYXBpLnYxLkxhYmVsIoUBCg9UYXNrQ29udHJpYnV0b3ISCgoCaWQYASABKA0SDAoEcm9sZRgCIAEoCRIPCgd0YXNrX2lkGAMgASgNEhoKBHRhc2sYBCABKAsyDC5hcGkudjEuVGFzaxIPCgd1c2VyX2lkGAUgASgNEhoKBHVzZXIYBiABKAsyDC5hcGkudjEuVXNlciKEAQoNVGFza0NvbXBvbmVudBIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKBHRhc2sYAyABKAsyDC5hcGkudjEuVGFzaxIUCgxjb21wb25lbnRfaWQYBCABKA0SJAoJY29tcG9uZW50GAUgASgLMhEuYXBpLnYxLkNvbXBvbmVudCLQAQoOVGFza1JlcG9zaXRvcnkSCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIaChJ2Y3NfaW50ZWdyYXRpb25faWQYBCABKA0SLwoPdmNzX2ludGVncmF0aW9uGAUgASgLMhYuYXBpLnYxLlZDU0ludGVncmF0aW9uEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgGIAEoDRI1ChJwcm9qZWN0X3JlcG9zaXRvcnkYByABKAsyGS5hcGkudjEuUHJvamVjdFJlcG9zaXRvcnkidgoLVGFza0RvY1BhZ2USCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRITCgtkb2NfcGFnZV9pZBgDIAEoDRIhCghkb2NfcGFnZRgEIAEoCzIPLmFwaS52MS5Eb2NQYWdlEhIKCmNvbXBhbnlfaWQYBSABKA0ieAoMVGFza0RvY3VtZW50EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SEwoLZG9jdW1lbnRfaWQYAyABKA0SIgoIZG9jdW1lbnQYBCABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKY29tcGFueV9pZBgFIAEoDSLpAQoPVGFza1B1bGxSZXF1ZXN0EgoKAmlkGAEgASgNEg8KB3Rhc2tfaWQYAiABKA0SHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAMgASgNEjUKEnByb2plY3RfcmVwb3NpdG9yeRgEIAEoCzIZLmFwaS52MS5Qcm9qZWN0UmVwb3NpdG9yeRIRCglwcl9udW1iZXIYBSABKAUSDQoFdGl0bGUYBiABKAkSCwoDdXJsGAcgASgJEg0KBXN0YXRlGAggASgJEiUKCHByb3ZpZGVyGAkgASgOMhMuYXBpLnYxLlZDU1Byb3ZpZGVyIokDCgdDb21tZW50EgoKAmlkGAEgASgNEg8KB2NvbnRlbnQYAiABKAkSEwoLaXNfaW50ZXJuYWwYAyABKAgSFAoHdGFza19pZBgEIAEoDUgAiAEBEhoKBHRhc2sYBSABKAsyDC5hcGkudjEuVGFzaxIYCgtkb2NfcGFnZV9pZBgGIAEoDUgBiAEBEiEKCGRvY19wYWdlGAcgASgLMg8uYXBpLnYxLkRvY1BhZ2USDwoHdXNlcl9pZBgIIAEoDRIaCgR1c2VyGAkgASgLMgwuYXBpLnYxLlVzZXISEgoKY29tcGFueV9pZBgKIAEoDRIgCgdjb21wYW55GAsgASgLMg8uYXBpLnYxLkNvbXBhbnkSLgoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX3Rhc2tfaWRCDgoMX2RvY19wYWdlX2lkIvwCCgpBdHRhY2htZW50EgoKAmlkGAEgASgNEhAKCGZpbGVuYW1lGAIgASgJEhEKCWZpbGVfc2l6ZRgDIAEoAxIRCgltaW1lX3R5cGUYBCABKAkSFAoMc3RvcmFnZV9wYXRoGAUgASgJEhcKCnB1YmxpY191cmwYBiABKAlIAIgBARIUCgd0YXNrX2lkGAcgASgNSAGIAQESGgoEdGFzaxgIIAEoCzIMLmFwaS52MS5UYXNrEhgKC2RvY19wYWdlX2lkGAkgASgNSAKIAQESIQoIZG9jX3BhZ2UYCiABKAsyDy5hcGkudjEuRG9jUGFnZRIPCgd1c2VyX2lkGAsgASgNEhoKBHVzZXIYDCABKAsyDC5hcGkudjEuVXNlchISCgpjb21wYW55X2lkGA0gASgNEiAKB2NvbXBhbnkYDiABKAsyDy5hcGkudjEuQ29tcGFueUINCgtfcHVibGljX3VybEIKCghfdGFza19pZEIOCgxfZG9jX3BhZ2VfaWQiUQoLQUlSdW5TdGF0dXMSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiJoCgtBSVVuaXRTdGFnZRIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFQoNZGlzcGxheV9vcmRlchgEIAEoBUIOCgxfZGVzY3JpcHRpb24iUgoMQUlVbml0U3RhdHVzEgoKAmlkGAEgASgNEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24iVAoOQUlVbml0Q2F0ZWdvcnkSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiLoBQoNQUlXb3JrZmxvd1J1bhIKCgJpZBgBIAEoDRIdChVhaV9jcmVkaXRzX3VzZWRfdG90YWwYAiABKAUSGgoNbWV0YWRhdGFfanNvbhgDIAEoCUgAiAEBEg8KB3Rhc2tfaWQYBCABKA0SGgoEdGFzaxgFIAEoCzIMLmFwaS52MS5UYXNrEhwKFHRyaWdnZXJlZF9ieV91c2VyX2lkGAYgASgNEicKEXRyaWdnZXJlZF9ieV91c2VyGAcgASgLMgwuYXBpLnYxLlVzZXISGAoQYWlfcnVuX3N0YXR1c19pZBgIIAEoDRIqCg1haV9ydW5fc3RhdHVzGAkgASgLMhMuYXBpLnYxLkFJUnVuU3RhdHVzEh0KEGN1cnJlbnRfc3RhZ2VfaWQYCiABKA1IAYgBARIqCg1jdXJyZW50X3N0YWdlGAsgASgLMhMuYXBpLnYxLkFJVW5pdFN0YWdlEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBG5hbWUYDiABKAkSMwoKc3RhcnRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARI1Cgxjb21wbGV0ZWRfYXQYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAOIAQESIgoVcmVzdGFydGVkX2Zyb21fcnVuX2lkGBEgASgNSASIAQESGgoNc291cmNlX2JyYW5jaBgSIAEoCUgFiAEBQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9jdXJyZW50X3N0YWdlX2lkQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCGAoWX3Jlc3RhcnRlZF9mcm9tX3J1bl9pZEIQCg5fc291cmNlX2JyYW5jaCL7BwoOQUlXb3JrZmxvd1VuaXQSCgoCaWQYASABKA0SFgoOc2VxdWVuY2Vfb3JkZXIYAiABKAUSGAoQd29ya19kZXNjcmlwdGlvbhgDIAEoCRIXCgp2Y3NfYnJhbmNoGAQgASgJSACIAQESFwoKdmNzX3ByX3VybBgFIAEoCUgBiAEBEhsKDmRlcGxveW1lbnRfdXJsGAYgASgJSAKIAQESHgoRdGVzdF9yZXN1bHRzX2pzb24YByABKAlIA4gBARIWCgllcnJvcl9sb2cYCCABKAlIBIgBARIXCg9haV9jcmVkaXRzX3VzZWQYCSABKAUSGgoNbWV0YWRhdGFfanNvbhgKIAEoCUgFiAEBEhoKEmFpX3dvcmtmbG93X3J1bl9pZBgLIAEoDRIuCg9haV93b3JrZmxvd19ydW4YDCABKAsyFS5hcGkudjEuQUlXb3JrZmxvd1J1bhIPCgd0YXNrX2lkGA0gASgNEhoKBHRhc2sYDiABKAsyDC5hcGkudjEuVGFzaxIaChJ2Y3NfaW50ZWdyYXRpb25faWQYDyABKA0SLwoPdmNzX2ludGVncmF0aW9uGBAgASgLMhYuYXBpLnYxLlZDU0ludGVncmF0aW9uEiAKE2FpX3VuaXRfY2F0ZWdvcnlfaWQYESABKA1IBogBARIwChBhaV91bml0X2NhdGVnb3J5GBIgASgLMhYuYXBpLnYxLkFJVW5pdENhdGVnb3J5EhgKEGFpX3VuaXRfc3RhZ2VfaWQYEyABKA0SKgoNYWlfdW5pdF9zdGFnZRgUIAEoCzITLmFwaS52MS5BSVVuaXRTdGFnZRIZChFhaV91bml0X3N0YXR1c19pZBgVIAEoDRIsCg5haV91bml0X3N0YXR1cxgWIAEoCzIULmFwaS52MS5BSVVuaXRTdGF0dXMSHwoSZGVwZW5kc19vbl91bml0X2lkGBcgASgNSAeIAQESLwoPZGVwZW5kc19vbl91bml0GBggASgLMhYuYXBpLnYxLkFJV29ya2Zsb3dVbml0Ei4KCmNyZWF0ZWRfYXQYGSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYGiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg0KC192Y3NfYnJhbmNoQg0KC192Y3NfcHJfdXJsQhEKD19kZXBsb3ltZW50X3VybEIUChJfdGVzdF9yZXN1bHRzX2pzb25CDAoKX2Vycm9yX2xvZ0IQCg5fbWV0YWRhdGFfanNvbkIWChRfYWlfdW5pdF9jYXRlZ29yeV9pZEIVChNfZGVwZW5kc19vbl91bml0X2lkIv8BCgtFbnZpcm9ubWVudBIKCgJpZBgBIAEoDRIMCgRuYW1lGAIgASgJEhEKBHR5cGUYAyABKAlIAIgBARIaCg1rOHNfbmFtZXNwYWNlGAQgASgJSAGIAQESGAoLYmFzZV9kb21haW4YBSABKAlIAogBARIaCg1tZXRhZGF0YV9qc29uGAYgASgJSAOIAQESEgoKcHJvamVjdF9pZBgHIAEoDRIgCgdwcm9qZWN0GAggASgLMg8uYXBpLnYxLlByb2plY3RCBwoFX3R5cGVCEAoOX2s4c19uYW1lc3BhY2VCDgoMX2Jhc2VfZG9tYWluQhAKDl9tZXRhZGF0YV9qc29uIqICCgpEZXBsb3ltZW50EgoKAmlkGAEgASgNEg4KBnN0YXR1cxgCIAEoCRIQCgN1cmwYAyABKAlIAIgBARIVCghsb2dzX3VybBgEIAEoCUgBiAEBEhoKDW1ldGFkYXRhX2pzb24YBSABKAlIAogBARIWCg5lbnZpcm9ubWVudF9pZBgGIAEoDRIoCgtlbnZpcm9ubWVudBgHIAEoCzITLmFwaS52MS5FbnZpcm9ubWVudBIaChJhaV93b3JrZmxvd19ydW5faWQYCCABKA0SLgoPYWlfd29ya2Zsb3dfcnVuGAkgASgLMhUuYXBpLnYxLkFJV29ya2Zsb3dSdW5CBgoEX3VybEILCglfbG9nc191cmxCEAoOX21ldGFkYXRhX2pzb24i/AEKB1Rlc3RSdW4SCgoCaWQYASABKA0SDAoEdHlwZRgCIAEoCRIOCgZzdGF0dXMYAyABKAkSFgoJZnJhbWV3b3JrGAQgASgJSACIAQESFwoKcmVwb3J0X3VybBgFIAEoCUgBiAEBEhkKDHJlc3VsdHNfanNvbhgGIAEoCUgCiAEBEhsKE2FpX3dvcmtmbG93X3VuaXRfaWQYByABKA0SMAoQYWlfd29ya2Zsb3dfdW5pdBgIIAEoCzIWLmFwaS52MS5BSVdvcmtmbG93VW5pdEIMCgpfZnJhbWV3b3JrQg0KC19yZXBvcnRfdXJsQg8KDV9yZXN1bHRzX2pzb24ixAIKC0FjdGl2aXR5TG9nEgoKAmlkGAEgASgNEg4KBmFjdGlvbhgCIAEoCRITCgtlbnRpdHlfdHlwZRgDIAEoCRIRCgllbnRpdHlfaWQYBCABKA0SEwoLZGVzY3JpcHRpb24YBSABKAkSGgoNbWV0YWRhdGFfanNvbhgGIAEoCUgAiAEBEhcKCmlwX2FkZHJlc3MYByABKAlIAYgBARIUCgd1c2VyX2lkGAggASgNSAKIAQESGgoEdXNlchgJIAEoCzIMLmFwaS52MS5Vc2VyEhcKCnByb2plY3RfaWQYCiABKA1IA4gBARIgCgdwcm9qZWN0GAsgASgLMg8uYXBpLnYxLlByb2plY3RCEAoOX21ldGFkYXRhX2pzb25CDQoLX2lwX2FkZHJlc3NCCgoIX3VzZXJfaWRCDQoLX3Byb2plY3RfaWQihwMKDE5vdGlmaWNhdGlvbhIKCgJpZBgBIAEoDRINCgV0aXRsZRgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEhkKEW5vdGlmaWNhdGlvbl90eXBlGAQgASgJEhgKC2VudGl0eV90eXBlGAUgASgJSACIAQESFgoJZW50aXR5X2lkGAYgASgNSAGIAQESFwoKYWN0aW9uX3VybBgHIAEoCUgCiAEBEg8KB2lzX3JlYWQYCCABKAgSFgoOc2VudF92aWFfZW1haWwYCSABKAgSGgoNbWV0YWRhdGFfanNvbhgKIAEoCUgDiAEBEg8KB3VzZXJfaWQYCyABKA0SGgoEdXNlchgMIAEoCzIMLmFwaS52MS5Vc2VyEhIKCmNvbXBhbnlfaWQYDSABKA0SIAoHY29tcGFueRgOIAEoCzIPLmFwaS52MS5Db21wYW55Qg4KDF9lbnRpdHlfdHlwZUIMCgpfZW50aXR5X2lkQg0KC19hY3Rpb25fdXJsQhAKDl9tZXRhZGF0YV9qc29uIlsKB0NvdW50cnkSCgoCaWQYASABKA0SDAoEbmFtZRgCIAEoCRIQCghpc29fY29kZRgDIAEoCRIRCglpc29fY29kZTIYBCABKAkSEQoJZGlhbF9jb2RlGAUgASgJIvUECghEb2N1bWVudBIKCgJpZBgBIAEoDRIMCgR1dWlkGDIgASgJEhAKCGZpbGVuYW1lGAIgASgJEhEKCW1pbWVfdHlwZRgDIAEoCRIMCgRzaXplGAQgASgDEhMKC3N0b3JhZ2VfdXJsGAUgASgJEhMKBnNoYTI1NhgGIAEoCUgAiAEBEhYKCWRpc2tfbmFtZRgHIAEoCUgBiAEBEhEKBGtpbmQYCCABKAlIAogBARIRCglpc19mb2xkZXIYCSABKAgSFgoJZnVsbF9wYXRoGAogASgJSAOIAQESHQoQcGFyZW50X2ZvbGRlcl9pZBgLIAEoDUgEiAEBEicKDXBhcmVudF9mb2xkZXIYDCABKAsyEC5hcGkudjEuRG9jdW1lbnQSEgoKcHJvamVjdF9pZBgNIAEoDRIgCgdwcm9qZWN0GA4gASgLMg8uYXBpLnYxLlByb2plY3QSEgoKY29tcGFueV9pZBgPIAEoDRIgCgdjb21wYW55GBAgASgLMg8uYXBpLnYxLkNvbXBhbnkSGwoTdXBsb2FkZWRfYnlfdXNlcl9pZBgRIAEoDRImChB1cGxvYWRlZF9ieV91c2VyGBIgASgLMgwuYXBpLnYxLlVzZXISLgoKY3JlYXRlZF9hdBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgUIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCQoHX3NoYTI1NkIMCgpfZGlza19uYW1lQgcKBV9raW5kQgwKCl9mdWxsX3BhdGhCEwoRX3BhcmVudF9mb2xkZXJfaWQi3QEKDERvY3VtZW50TGluaxIKCgJpZBgBIAEoDRIRCglsaW5rX2tpbmQYAiABKAkSDwoHbGlua19pZBgDIAEoDRITCgtkb2N1bWVudF9pZBgEIAEoDRIiCghkb2N1bWVudBgFIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpjb21wYW55X2lkGAYgASgNEiAKB2NvbXBhbnkYByABKAsyDy5hcGkudjEuQ29tcGFueRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKIAgoHV29ya0xvZxIKCgJpZBgBIAEoDRIPCgd0YXNrX2lkGAIgASgNEhoKBHRhc2sYAyABKAsyDC5hcGkudjEuVGFzaxIPCgd1c2VyX2lkGAQgASgNEhoKBHVzZXIYBSABKAsyDC5hcGkudjEuVXNlchINCgVob3VycxgGIAEoARIYCgtkZXNjcmlwdGlvbhgHIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbiKHAwoJTWlsZXN0b25lEgoKAmlkGAEgASgNEgwKBHV1aWQYAiABKAkSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEjMKCnN0YXJ0X2RhdGUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESMQoIZW5kX2RhdGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESDgoGc3RhdHVzGAcgASgJEhIKCnByb2plY3RfaWQYCCABKA0SIAoHcHJvamVjdBgJIAEoCzIPLmFwaS52MS5Qcm9qZWN0Ei4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkINCgtfc3RhcnRfZGF0ZUILCglfZW5kX2RhdGUimAEKDU1pbGVzdG9uZVRhc2sSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSDwoHdGFza19pZBgEIAEoDRIaCgR0YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSEgoKY29tcGFueV9pZBgGIAEoDSKmAQoQTWlsZXN0b25lRG9jUGFnZRIKCgJpZBgBIAEoDRIUCgxtaWxlc3RvbmVfaWQYAiABKA0SJAoJbWlsZXN0b25lGAMgASgLMhEuYXBpLnYxLk1pbGVzdG9uZRITCgtkb2NfcGFnZV9pZBgEIAEoDRIhCghkb2NfcGFnZRgFIAEoCzIPLmFwaS52MS5Eb2NQYWdlEhIKCmNvbXBhbnlfaWQYBiABKA0ixwEKE01pbGVzdG9uZVJlcG9zaXRvcnkSCgoCaWQYASABKA0SFAoMbWlsZXN0b25lX2lkGAIgASgNEiQKCW1pbGVzdG9uZRgDIAEoCzIRLmFwaS52MS5NaWxlc3RvbmUSHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAQgASgNEjUKEnByb2plY3RfcmVwb3NpdG9yeRgFIAEoCzIZLmFwaS52MS5Qcm9qZWN0UmVwb3NpdG9yeRISCgpjb21wYW55X2lkGAYgASgNIqgBChFNaWxlc3RvbmVEb2N1bWVudBIKCgJpZBgBIAEoDRIUCgxtaWxlc3RvbmVfaWQYAiABKA0SJAoJbWlsZXN0b25lGAMgASgLMhEuYXBpLnYxLk1pbGVzdG9uZRITCgtkb2N1bWVudF9pZBgEIAEoDRIiCghkb2N1bWVudBgFIAEoCzIQLmFwaS52MS5Eb2N1bWVudBISCgpjb21wYW55X2lkGAYgASgNIqQCCg5UYXNrRGVwZW5kZW5jeRIKCgJpZBgBIAEoDRIUCgxmcm9tX3Rhc2tfaWQYAiABKA0SHwoJZnJvbV90YXNrGAMgASgLMgwuYXBpLnYxLlRhc2sSEgoKdG9fdGFza19pZBgEIAEoDRIdCgd0b190YXNrGAUgASgLMgwuYXBpLnYxLlRhc2sSKAoEdHlwZRgGIAEoDjIaLmFwaS52MS5UYXNrRGVwZW5kZW5jeVR5cGUSEgoKY29tcGFueV9pZBgHIAEoDRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLdAQoXVGFza0FjY2VwdGFuY2VDcml0ZXJpb24SCgoCaWQYASABKA0SDwoHdGFza19pZBgCIAEoDRIMCgR0ZXh0GAMgASgJEgwKBGRvbmUYBCABKAgSFQoNZGlzcGxheV9vcmRlchgFIAEoBRISCgpjb21wYW55X2lkGAYgASgNEi4KCmNyZWF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKsoBChJUYXNrRGVwZW5kZW5jeVR5cGUSJAogVEFTS19ERVBFTkRFTkNZX1RZUEVfVU5TUEVDSUZJRUQQABIfChtUQVNLX0RFUEVOREVOQ1lfVFlQRV9CTE9DS1MQARIjCh9UQVNLX0RFUEVOREVOQ1lfVFlQRV9CTE9DS0VEX0JZEAISIwofVEFTS19ERVBFTkRFTkNZX1RZUEVfRFVQTElDQVRFUxADEiMKH1RBU0tfREVQRU5ERU5DWV9UWVBFX1JFTEFURVNfVE8QBEJwCgpjb20uYXBpLnYxQgtNb2RlbHNQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_timestamp, file_api_v1_vcs]);
14
14
 
15
15
  /**
16
16
  * Describes the message api.v1.Permission.
@@ -397,6 +397,13 @@ export const MilestoneDocumentSchema = /*@__PURE__*/
397
397
  export const TaskDependencySchema = /*@__PURE__*/
398
398
  messageDesc(file_api_v1_models, 54);
399
399
 
400
+ /**
401
+ * Describes the message api.v1.TaskAcceptanceCriterion.
402
+ * Use `create(TaskAcceptanceCriterionSchema)` to create a new message.
403
+ */
404
+ export const TaskAcceptanceCriterionSchema = /*@__PURE__*/
405
+ messageDesc(file_api_v1_models, 55);
406
+
400
407
  /**
401
408
  * Describes the enum api.v1.TaskDependencyType.
402
409
  */
@@ -4,7 +4,7 @@
4
4
 
5
5
  import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
6
6
  import type { Message } from "@bufbuild/protobuf";
7
- import type { TaskDependency, TaskDependencyType } from "./models_pb";
7
+ import type { Task, TaskDependency, TaskDependencyType } from "./models_pb";
8
8
  import type { Pagination } from "./pagination_pb";
9
9
  import type { EmptySchema } from "@bufbuild/protobuf/wkt";
10
10
 
@@ -78,6 +78,39 @@ export declare type DeleteTaskDependencyRequest = Message<"api.v1.DeleteTaskDepe
78
78
  */
79
79
  export declare const DeleteTaskDependencyRequestSchema: GenMessage<DeleteTaskDependencyRequest>;
80
80
 
81
+ /**
82
+ * GetDependencyChainRequest asks the server to walk the BLOCKS / BLOCKED_BY
83
+ * graph from a starting task. direction = "blocks" returns downstream tasks
84
+ * (this task blocks N others which block M others …); "blocked_by" returns
85
+ * upstream tasks (this task is blocked by N others which are blocked by …);
86
+ * "both" walks both sides. depth is the maximum hops from the source task;
87
+ * the server clamps depth into [1, 10] to bound traversal cost.
88
+ *
89
+ * @generated from message api.v1.GetDependencyChainRequest
90
+ */
91
+ export declare type GetDependencyChainRequest = Message<"api.v1.GetDependencyChainRequest"> & {
92
+ /**
93
+ * @generated from field: uint32 task_id = 1;
94
+ */
95
+ taskId: number;
96
+
97
+ /**
98
+ * @generated from field: string direction = 2;
99
+ */
100
+ direction: string;
101
+
102
+ /**
103
+ * @generated from field: optional uint32 depth = 3;
104
+ */
105
+ depth?: number;
106
+ };
107
+
108
+ /**
109
+ * Describes the message api.v1.GetDependencyChainRequest.
110
+ * Use `create(GetDependencyChainRequestSchema)` to create a new message.
111
+ */
112
+ export declare const GetDependencyChainRequestSchema: GenMessage<GetDependencyChainRequest>;
113
+
81
114
  /**
82
115
  * Response definitions
83
116
  *
@@ -117,6 +150,31 @@ export declare type GetTaskDependenciesResponse = Message<"api.v1.GetTaskDepende
117
150
  */
118
151
  export declare const GetTaskDependenciesResponseSchema: GenMessage<GetTaskDependenciesResponse>;
119
152
 
153
+ /**
154
+ * GetDependencyChainResponse returns every Task reachable from the source
155
+ * (including the source itself) and every TaskDependency edge that
156
+ * connects them. Callers reconstruct the DAG client-side.
157
+ *
158
+ * @generated from message api.v1.GetDependencyChainResponse
159
+ */
160
+ export declare type GetDependencyChainResponse = Message<"api.v1.GetDependencyChainResponse"> & {
161
+ /**
162
+ * @generated from field: repeated api.v1.Task nodes = 1;
163
+ */
164
+ nodes: Task[];
165
+
166
+ /**
167
+ * @generated from field: repeated api.v1.TaskDependency edges = 2;
168
+ */
169
+ edges: TaskDependency[];
170
+ };
171
+
172
+ /**
173
+ * Describes the message api.v1.GetDependencyChainResponse.
174
+ * Use `create(GetDependencyChainResponseSchema)` to create a new message.
175
+ */
176
+ export declare const GetDependencyChainResponseSchema: GenMessage<GetDependencyChainResponse>;
177
+
120
178
  /**
121
179
  * Service
122
180
  *
@@ -147,5 +205,13 @@ export declare const TaskDependencyService: GenService<{
147
205
  input: typeof DeleteTaskDependencyRequestSchema;
148
206
  output: typeof EmptySchema;
149
207
  },
208
+ /**
209
+ * @generated from rpc api.v1.TaskDependencyService.GetDependencyChain
210
+ */
211
+ getDependencyChain: {
212
+ methodKind: "unary";
213
+ input: typeof GetDependencyChainRequestSchema;
214
+ output: typeof GetDependencyChainResponseSchema;
215
+ },
150
216
  }>;
151
217
 
@@ -13,7 +13,7 @@ import { file_api_v1_models } from "./models_pb";
13
13
  * Describes the file api/v1/task_dependency.proto.
14
14
  */
15
15
  export const file_api_v1_task_dependency = /*@__PURE__*/
16
- fileDesc("ChxhcGkvdjEvdGFza19kZXBlbmRlbmN5LnByb3RvEgZhcGkudjEijAEKGEFkZFRhc2tEZXBlbmRlbmN5UmVxdWVzdBIdCgxmcm9tX3Rhc2tfaWQYASABKA1CB/pCBCoCKAESGwoKdG9fdGFza19pZBgCIAEoDUIH+kIEKgIoARI0CgR0eXBlGAMgASgOMhouYXBpLnYxLlRhc2tEZXBlbmRlbmN5VHlwZUIK+kIHggEEEAEgACJeChpHZXRUYXNrRGVwZW5kZW5jaWVzUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbiIyChtEZWxldGVUYXNrRGVwZW5kZW5jeVJlcXVlc3QSEwoCaWQYASABKA1CB/pCBCoCKAEiTAoZQWRkVGFza0RlcGVuZGVuY3lSZXNwb25zZRIvCg90YXNrX2RlcGVuZGVuY3kYASABKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kieAobR2V0VGFza0RlcGVuZGVuY2llc1Jlc3BvbnNlEjEKEXRhc2tfZGVwZW5kZW5jaWVzGAEgAygLMhYuYXBpLnYxLlRhc2tEZXBlbmRlbmN5EiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbjKYAwoVVGFza0RlcGVuZGVuY3lTZXJ2aWNlEn4KEUFkZFRhc2tEZXBlbmRlbmN5EiAuYXBpLnYxLkFkZFRhc2tEZXBlbmRlbmN5UmVxdWVzdBohLmFwaS52MS5BZGRUYXNrRGVwZW5kZW5jeVJlc3BvbnNlIiSC0+STAh46ASoiGS9hcGkvdjEvdGFzay1kZXBlbmRlbmNpZXMSgQEKE0dldFRhc2tEZXBlbmRlbmNpZXMSIi5hcGkudjEuR2V0VGFza0RlcGVuZGVuY2llc1JlcXVlc3QaIy5hcGkudjEuR2V0VGFza0RlcGVuZGVuY2llc1Jlc3BvbnNlIiGC0+STAhsSGS9hcGkvdjEvdGFzay1kZXBlbmRlbmNpZXMSewoURGVsZXRlVGFza0RlcGVuZGVuY3kSIy5hcGkudjEuRGVsZXRlVGFza0RlcGVuZGVuY3lSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiaC0+STAiAqHi9hcGkvdjEvdGFzay1kZXBlbmRlbmNpZXMve2lkfUJ4Cgpjb20uYXBpLnYxQhNUYXNrRGVwZW5kZW5jeVByb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_models]);
16
+ fileDesc("ChxhcGkvdjEvdGFza19kZXBlbmRlbmN5LnByb3RvEgZhcGkudjEijAEKGEFkZFRhc2tEZXBlbmRlbmN5UmVxdWVzdBIdCgxmcm9tX3Rhc2tfaWQYASABKA1CB/pCBCoCKAESGwoKdG9fdGFza19pZBgCIAEoDUIH+kIEKgIoARI0CgR0eXBlGAMgASgOMhouYXBpLnYxLlRhc2tEZXBlbmRlbmN5VHlwZUIK+kIHggEEEAEgACJeChpHZXRUYXNrRGVwZW5kZW5jaWVzUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbiIyChtEZWxldGVUYXNrRGVwZW5kZW5jeVJlcXVlc3QSEwoCaWQYASABKA1CB/pCBCoCKAEiZgoZR2V0RGVwZW5kZW5jeUNoYWluUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEhEKCWRpcmVjdGlvbhgCIAEoCRISCgVkZXB0aBgDIAEoDUgAiAEBQggKBl9kZXB0aCJMChlBZGRUYXNrRGVwZW5kZW5jeVJlc3BvbnNlEi8KD3Rhc2tfZGVwZW5kZW5jeRgBIAEoCzIWLmFwaS52MS5UYXNrRGVwZW5kZW5jeSJ4ChtHZXRUYXNrRGVwZW5kZW5jaWVzUmVzcG9uc2USMQoRdGFza19kZXBlbmRlbmNpZXMYASADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kSJgoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uImAKGkdldERlcGVuZGVuY3lDaGFpblJlc3BvbnNlEhsKBW5vZGVzGAEgAygLMgwuYXBpLnYxLlRhc2sSJQoFZWRnZXMYAiADKAsyFi5hcGkudjEuVGFza0RlcGVuZGVuY3kynwQKFVRhc2tEZXBlbmRlbmN5U2VydmljZRJ+ChFBZGRUYXNrRGVwZW5kZW5jeRIgLmFwaS52MS5BZGRUYXNrRGVwZW5kZW5jeVJlcXVlc3QaIS5hcGkudjEuQWRkVGFza0RlcGVuZGVuY3lSZXNwb25zZSIkgtPkkwIeOgEqIhkvYXBpL3YxL3Rhc2stZGVwZW5kZW5jaWVzEoEBChNHZXRUYXNrRGVwZW5kZW5jaWVzEiIuYXBpLnYxLkdldFRhc2tEZXBlbmRlbmNpZXNSZXF1ZXN0GiMuYXBpLnYxLkdldFRhc2tEZXBlbmRlbmNpZXNSZXNwb25zZSIhgtPkkwIbEhkvYXBpL3YxL3Rhc2stZGVwZW5kZW5jaWVzEnsKFERlbGV0ZVRhc2tEZXBlbmRlbmN5EiMuYXBpLnYxLkRlbGV0ZVRhc2tEZXBlbmRlbmN5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSImgtPkkwIgKh4vYXBpL3YxL3Rhc2stZGVwZW5kZW5jaWVzL3tpZH0ShAEKEkdldERlcGVuZGVuY3lDaGFpbhIhLmFwaS52MS5HZXREZXBlbmRlbmN5Q2hhaW5SZXF1ZXN0GiIuYXBpLnYxLkdldERlcGVuZGVuY3lDaGFpblJlc3BvbnNlIieC0+STAiESHy9hcGkvdjEvdGFzay1kZXBlbmRlbmNpZXMvY2hhaW5CeAoKY29tLmFwaS52MUITVGFza0RlcGVuZGVuY3lQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_models]);
17
17
 
18
18
  /**
19
19
  * Describes the message api.v1.AddTaskDependencyRequest.
@@ -36,19 +36,33 @@ export const GetTaskDependenciesRequestSchema = /*@__PURE__*/
36
36
  export const DeleteTaskDependencyRequestSchema = /*@__PURE__*/
37
37
  messageDesc(file_api_v1_task_dependency, 2);
38
38
 
39
+ /**
40
+ * Describes the message api.v1.GetDependencyChainRequest.
41
+ * Use `create(GetDependencyChainRequestSchema)` to create a new message.
42
+ */
43
+ export const GetDependencyChainRequestSchema = /*@__PURE__*/
44
+ messageDesc(file_api_v1_task_dependency, 3);
45
+
39
46
  /**
40
47
  * Describes the message api.v1.AddTaskDependencyResponse.
41
48
  * Use `create(AddTaskDependencyResponseSchema)` to create a new message.
42
49
  */
43
50
  export const AddTaskDependencyResponseSchema = /*@__PURE__*/
44
- messageDesc(file_api_v1_task_dependency, 3);
51
+ messageDesc(file_api_v1_task_dependency, 4);
45
52
 
46
53
  /**
47
54
  * Describes the message api.v1.GetTaskDependenciesResponse.
48
55
  * Use `create(GetTaskDependenciesResponseSchema)` to create a new message.
49
56
  */
50
57
  export const GetTaskDependenciesResponseSchema = /*@__PURE__*/
51
- messageDesc(file_api_v1_task_dependency, 4);
58
+ messageDesc(file_api_v1_task_dependency, 5);
59
+
60
+ /**
61
+ * Describes the message api.v1.GetDependencyChainResponse.
62
+ * Use `create(GetDependencyChainResponseSchema)` to create a new message.
63
+ */
64
+ export const GetDependencyChainResponseSchema = /*@__PURE__*/
65
+ messageDesc(file_api_v1_task_dependency, 6);
52
66
 
53
67
  /**
54
68
  * Service
@@ -119,6 +119,19 @@ export declare type AddTaskRequest = Message<"api.v1.AddTaskRequest"> & {
119
119
  * @generated from field: optional uint32 cycle_id = 20;
120
120
  */
121
121
  cycleId?: number;
122
+
123
+ /**
124
+ * label_ids attaches the listed labels to the new task in the same transaction.
125
+ * Empty / unset means no labels.
126
+ *
127
+ * @generated from field: repeated uint32 label_ids = 21;
128
+ */
129
+ labelIds: number[];
130
+
131
+ /**
132
+ * @generated from field: optional uint32 milestone_id = 22;
133
+ */
134
+ milestoneId?: number;
122
135
  };
123
136
 
124
137
  /**
@@ -245,6 +258,21 @@ export declare type EditTaskRequest = Message<"api.v1.EditTaskRequest"> & {
245
258
  * @generated from field: optional double original_estimate = 23;
246
259
  */
247
260
  originalEstimate?: number;
261
+
262
+ /**
263
+ * label_ids has replace-set semantics: if nil, labels are not touched; if
264
+ * an empty list, all labels are detached; otherwise the task's labels are
265
+ * replaced with this set (existing labels not in the list are detached,
266
+ * labels in the list that weren't attached are attached).
267
+ *
268
+ * @generated from field: repeated uint32 label_ids = 24;
269
+ */
270
+ labelIds: number[];
271
+
272
+ /**
273
+ * @generated from field: optional uint32 milestone_id = 25;
274
+ */
275
+ milestoneId?: number;
248
276
  };
249
277
 
250
278
  /**
@@ -308,6 +336,16 @@ export declare type GetTasksRequest = Message<"api.v1.GetTasksRequest"> & {
308
336
  * @generated from field: repeated uint32 label_ids = 4;
309
337
  */
310
338
  labelIds: number[];
339
+
340
+ /**
341
+ * @generated from field: optional string sort_by = 5;
342
+ */
343
+ sortBy?: string;
344
+
345
+ /**
346
+ * @generated from field: optional string sort_dir = 6;
347
+ */
348
+ sortDir?: string;
311
349
  };
312
350
 
313
351
  /**
@@ -709,12 +747,49 @@ export declare type BulkEditTasksRequest = Message<"api.v1.BulkEditTasksRequest"
709
747
  cycleId?: number;
710
748
 
711
749
  /**
712
- * If true, repository_ids will replace existing ones. If false/missing, they might be appended?
750
+ * If true, repository_ids will replace existing ones. If false/missing, they might be appended?
713
751
  * For simplicity bulk update usually REPLACES the list if provided.
714
752
  *
715
753
  * @generated from field: repeated uint32 repository_ids = 8;
716
754
  */
717
755
  repositoryIds: number[];
756
+
757
+ /**
758
+ * Story-point estimate to set on every task in task_ids.
759
+ *
760
+ * @generated from field: optional int32 story_points = 9;
761
+ */
762
+ storyPoints?: number;
763
+
764
+ /**
765
+ * Estimated effort in hours to set on every task in task_ids.
766
+ *
767
+ * @generated from field: optional double estimated_hours = 10;
768
+ */
769
+ estimatedHours?: number;
770
+
771
+ /**
772
+ * Parent task id to set on every task in task_ids. Pass 0 to clear.
773
+ *
774
+ * @generated from field: optional uint32 parent_task_id = 11;
775
+ */
776
+ parentTaskId?: number;
777
+
778
+ /**
779
+ * label_ids has the same replace-set semantics as repository_ids: an
780
+ * empty / unset list leaves labels untouched, a populated list replaces
781
+ * the label attachments on every task in the call.
782
+ *
783
+ * @generated from field: repeated uint32 label_ids = 12;
784
+ */
785
+ labelIds: number[];
786
+
787
+ /**
788
+ * Milestone id to set on every task in task_ids. Pass 0 to clear.
789
+ *
790
+ * @generated from field: optional uint32 milestone_id = 13;
791
+ */
792
+ milestoneId?: number;
718
793
  };
719
794
 
720
795
  /**
@@ -14,7 +14,7 @@ import { file_api_v1_models } from "./models_pb";
14
14
  * Describes the file api/v1/task.proto.
15
15
  */
16
16
  export const file_api_v1_task = /*@__PURE__*/
17
- fileDesc("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIvkFCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEh4KDWRpc3BsYXlfb3JkZXIYBCABKAVCB/pCBBoCKAASIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQFCDQoLX2lkZW50aWZpZXJCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWQi4gYKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIeCg1kaXNwbGF5X29yZGVyGAUgASgFQgf6QgQaAigAEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIAogBARIpCgxhY3R1YWxfaG91cnMYCCABKAFCDvpCCxIJKQAAAAAAAAAASAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SFwoPYm9hcmRfY29sdW1uX2lkGA0gASgNEhIKCnByb2plY3RfaWQYDiABKA0SFAoMdGFza190eXBlX2lkGA8gASgNEhgKEHRhc2tfcHJpb3JpdHlfaWQYECABKA0SGAoQcmVwb3J0ZXJfdXNlcl9pZBgRIAEoDRIdChBhc3NpZ25lZF91c2VyX2lkGBIgASgNSAWIAQESGwoOcGFyZW50X3Rhc2tfaWQYEyABKA1IBogBARIWCg5yZXBvc2l0b3J5X2lkcxgUIAMoDRIVCghjeWNsZV9pZBgVIAEoDUgHiAEBEi8KC3Jlc29sdmVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChFvcmlnaW5hbF9lc3RpbWF0ZRgXIAEoAUgIiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQhQKEl9vcmlnaW5hbF9lc3RpbWF0ZSIcCg5HZXRUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSIuChRHZXRUYXNrQnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASKiAQoPR2V0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zEhEKCWxhYmVsX2lkcxgEIAMoDSIfChFEZWxldGVUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSJXChBHZXRUYXNrc1Jlc3BvbnNlEhsKBXRhc2tzGAEgAygLMgwuYXBpLnYxLlRhc2sSJgoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uIi0KD0FkZFRhc2tSZXNwb25zZRIaCgR0YXNrGAEgASgLMgwuYXBpLnYxLlRhc2siLgoQRWRpdFRhc2tSZXNwb25zZRIaCgR0YXNrGAEgASgLMgwuYXBpLnYxLlRhc2siLQoPR2V0VGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayI0ChhUcmlnZ2VyQUlXb3JrZmxvd1JlcXVlc3QSGAoHdGFza19pZBgBIAEoDUIH+kIEKgIoASJOChlUcmlnZ2VyQUlXb3JrZmxvd1Jlc3BvbnNlEhAKCGpvYl9uYW1lGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIPCgdtZXNzYWdlGAMgASgJInIKEkV4cG9ydFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEi0KDmZpbHRlcl9vcHRpb25zGAIgASgLMhUuYXBpLnYxLkZpbHRlck9wdGlvbnMSEAoIdGFza19pZHMYAyADKA0iPAoTRXhwb3J0VGFza3NSZXNwb25zZRITCgtjc3ZfY29udGVudBgBIAEoDBIQCghmaWxlbmFtZRgCIAEoCSJwChJJbXBvcnRUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIhCgtjc3ZfY29udGVudBgCIAEoDEIM+kIJegcQARiAgIAFEhoKEnNraXBfbm90aWZpY2F0aW9ucxgDIAEoCCJFCgxJbXBvcnRlZFRhc2sSEwoLZXh0ZXJuYWxfaWQYASABKAkSDwoHdGFza19pZBgCIAEoDRIPCgdjcmVhdGVkGAMgASgIIq0BChNJbXBvcnRUYXNrc1Jlc3BvbnNlEhUKDWNyZWF0ZWRfY291bnQYASABKAUSFQoNdXBkYXRlZF9jb3VudBgCIAEoBRIUCgxmYWlsZWRfY291bnQYAyABKAUSDgoGZXJyb3JzGAQgAygJEhUKDXNraXBwZWRfY291bnQYBSABKAUSKwoNY3JlYXRlZF90YXNrcxgGIAMoCzIULmFwaS52MS5JbXBvcnRlZFRhc2sipwEKCFRhc2tMaW5rEh8KC2V4dGVybmFsX2lkGAEgASgJQgr6QgdyBRABGIABEikKEnBhcmVudF9leHRlcm5hbF9pZBgCIAEoCUII+kIFcgMYgAFIAIgBARIlCg5taWxlc3RvbmVfbmFtZRgDIAEoCUII+kIFcgMYgAJIAYgBAUIVChNfcGFyZW50X2V4dGVybmFsX2lkQhEKD19taWxlc3RvbmVfbmFtZSJnChxMaW5rVGFza3NCeUV4dGVybmFsSWRSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESKgoFbGlua3MYAiADKAsyEC5hcGkudjEuVGFza0xpbmtCCfpCBpIBAxCIJyJiCh1MaW5rVGFza3NCeUV4dGVybmFsSWRSZXNwb25zZRIWCg5saW5rZWRfcGFyZW50cxgBIAEoBRIZChFsaW5rZWRfbWlsZXN0b25lcxgCIAEoBRIOCgZlcnJvcnMYAyADKAki0QIKFEJ1bGtFZGl0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESGgoIdGFza19pZHMYAiADKA1CCPpCBZIBAggBEhwKD2JvYXJkX2NvbHVtbl9pZBgDIAEoDUgAiAEBEh0KEHRhc2tfcHJpb3JpdHlfaWQYBCABKA1IAYgBARIZCgx0YXNrX3R5cGVfaWQYBSABKA1IAogBARIdChBhc3NpZ25lZF91c2VyX2lkGAYgASgNSAOIAQESFQoIY3ljbGVfaWQYByABKA1IBIgBARIWCg5yZXBvc2l0b3J5X2lkcxgIIAMoDUISChBfYm9hcmRfY29sdW1uX2lkQhMKEV90YXNrX3ByaW9yaXR5X2lkQg8KDV90YXNrX3R5cGVfaWRCEwoRX2Fzc2lnbmVkX3VzZXJfaWRCCwoJX2N5Y2xlX2lkIi4KFUJ1bGtFZGl0VGFza3NSZXNwb25zZRIVCg11cGRhdGVkX2NvdW50GAEgASgFIlEKFkJ1bGtEZWxldGVUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAEiMAoXQnVsa0RlbGV0ZVRhc2tzUmVzcG9uc2USFQoNZGVsZXRlZF9jb3VudBgBIAEoBSJ2ChFBZGRXb3JrTG9nUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEh0KBWhvdXJzGAIgASgBQg76QgsSCSmamZmZmZm5PxIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiI3ChJBZGRXb3JrTG9nUmVzcG9uc2USIQoId29ya19sb2cYASABKAsyDy5hcGkudjEuV29ya0xvZyIzChREZWxldGVXb3JrTG9nUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgNEgoKAmlkGAIgASgNMukMCgtUYXNrU2VydmljZRJ9CgtFeHBvcnRUYXNrcxIaLmFwaS52MS5FeHBvcnRUYXNrc1JlcXVlc3QaGy5hcGkudjEuRXhwb3J0VGFza3NSZXNwb25zZSI1gtPkkwIvOgEqIiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9leHBvcnQSfQoLSW1wb3J0VGFza3MSGi5hcGkudjEuSW1wb3J0VGFza3NSZXF1ZXN0GhsuYXBpLnYxLkltcG9ydFRhc2tzUmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvaW1wb3J0EqgBChVMaW5rVGFza3NCeUV4dGVybmFsSWQSJC5hcGkudjEuTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVxdWVzdBolLmFwaS52MS5MaW5rVGFza3NCeUV4dGVybmFsSWRSZXNwb25zZSJCgtPkkwI8OgEqIjcvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9saW5rLWJ5LWV4dGVybmFsLWlkElQKB0FkZFRhc2sSFi5hcGkudjEuQWRkVGFza1JlcXVlc3QaFy5hcGkudjEuQWRkVGFza1Jlc3BvbnNlIhiC0+STAhI6ASoiDS9hcGkvdjEvdGFza3MSXAoIRWRpdFRhc2sSFy5hcGkudjEuRWRpdFRhc2tSZXF1ZXN0GhguYXBpLnYxLkVkaXRUYXNrUmVzcG9uc2UiHYLT5JMCFzoBKhoSL2FwaS92MS90YXNrcy97aWR9ElYKB0dldFRhc2sSFi5hcGkudjEuR2V0VGFza1JlcXVlc3QaFy5hcGkudjEuR2V0VGFza1Jlc3BvbnNlIhqC0+STAhQSEi9hcGkvdjEvdGFza3Mve2lkfRJpCg1HZXRUYXNrQnlVVUlEEhwuYXBpLnYxLkdldFRhc2tCeVVVSURSZXF1ZXN0GhcuYXBpLnYxLkdldFRhc2tSZXNwb25zZSIhgtPkkwIbEhkvYXBpL3YxL3Rhc2tzL3V1aWQve3V1aWR9ElQKCEdldFRhc2tzEhcuYXBpLnYxLkdldFRhc2tzUmVxdWVzdBoYLmFwaS52MS5HZXRUYXNrc1Jlc3BvbnNlIhWC0+STAg8SDS9hcGkvdjEvdGFza3MSWwoKRGVsZXRlVGFzaxIZLmFwaS52MS5EZWxldGVUYXNrUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUKhIvYXBpL3YxL3Rhc2tzL3tpZH0ShwEKEVRyaWdnZXJBSVdvcmtmbG93EiAuYXBpLnYxLlRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBohLmFwaS52MS5UcmlnZ2VyQUlXb3JrZmxvd1Jlc3BvbnNlIi2C0+STAic6ASoiIi9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3RyaWdnZXItYWkScQoKQWRkV29ya0xvZxIZLmFwaS52MS5BZGRXb3JrTG9nUmVxdWVzdBoaLmFwaS52MS5BZGRXb3JrTG9nUmVzcG9uc2UiLILT5JMCJjoBKiIhL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzEnUKDURlbGV0ZVdvcmtMb2cSHC5hcGkudjEuRGVsZXRlV29ya0xvZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKComL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzL3tpZH0SgQEKDUJ1bGtFZGl0VGFza3MSHC5hcGkudjEuQnVsa0VkaXRUYXNrc1JlcXVlc3QaHS5hcGkudjEuQnVsa0VkaXRUYXNrc1Jlc3BvbnNlIjOC0+STAi06ASoaKC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGsSjgEKD0J1bGtEZWxldGVUYXNrcxIeLmFwaS52MS5CdWxrRGVsZXRlVGFza3NSZXF1ZXN0Gh8uYXBpLnYxLkJ1bGtEZWxldGVUYXNrc1Jlc3BvbnNlIjqC0+STAjQ6ASoiLy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGstZGVsZXRlQm4KCmNvbS5hcGkudjFCCVRhc2tQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_empty, file_google_protobuf_timestamp, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models]);
17
+ fileDesc("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIrgGCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEh4KDWRpc3BsYXlfb3JkZXIYBCABKAVCB/pCBBoCKAASIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQESEQoJbGFiZWxfaWRzGBUgAygNEhkKDG1pbGVzdG9uZV9pZBgWIAEoDUgJiAEBQg0KC19pZGVudGlmaWVyQg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQg8KDV9taWxlc3RvbmVfaWQimAcKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIVCg1kaXNwbGF5X29yZGVyGAUgASgFEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIAogBARIpCgxhY3R1YWxfaG91cnMYCCABKAFCDvpCCxIJKQAAAAAAAAAASAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SFwoPYm9hcmRfY29sdW1uX2lkGA0gASgNEhIKCnByb2plY3RfaWQYDiABKA0SFAoMdGFza190eXBlX2lkGA8gASgNEhgKEHRhc2tfcHJpb3JpdHlfaWQYECABKA0SGAoQcmVwb3J0ZXJfdXNlcl9pZBgRIAEoDRIdChBhc3NpZ25lZF91c2VyX2lkGBIgASgNSAWIAQESGwoOcGFyZW50X3Rhc2tfaWQYEyABKA1IBogBARIWCg5yZXBvc2l0b3J5X2lkcxgUIAMoDRIVCghjeWNsZV9pZBgVIAEoDUgHiAEBEi8KC3Jlc29sdmVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChFvcmlnaW5hbF9lc3RpbWF0ZRgXIAEoAUgIiAEBEhEKCWxhYmVsX2lkcxgYIAMoDRIZCgxtaWxlc3RvbmVfaWQYGSABKA1ICYgBAUIOCgxfZGVzY3JpcHRpb25CDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQg8KDV9hY3R1YWxfaG91cnNCEAoOX21ldGFkYXRhX2pzb25CEwoRX2Fzc2lnbmVkX3VzZXJfaWRCEQoPX3BhcmVudF90YXNrX2lkQgsKCV9jeWNsZV9pZEIUChJfb3JpZ2luYWxfZXN0aW1hdGVCDwoNX21pbGVzdG9uZV9pZCIcCg5HZXRUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSIuChRHZXRUYXNrQnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASLoAQoPR2V0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zEhEKCWxhYmVsX2lkcxgEIAMoDRIUCgdzb3J0X2J5GAUgASgJSACIAQESFQoIc29ydF9kaXIYBiABKAlIAYgBAUIKCghfc29ydF9ieUILCglfc29ydF9kaXIiHwoRRGVsZXRlVGFza1JlcXVlc3QSCgoCaWQYASABKA0iVwoQR2V0VGFza3NSZXNwb25zZRIbCgV0YXNrcxgBIAMoCzIMLmFwaS52MS5UYXNrEiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbiItCg9BZGRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIi4KEEVkaXRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIi0KD0dldFRhc2tSZXNwb25zZRIaCgR0YXNrGAEgASgLMgwuYXBpLnYxLlRhc2siNAoYVHJpZ2dlckFJV29ya2Zsb3dSZXF1ZXN0EhgKB3Rhc2tfaWQYASABKA1CB/pCBCoCKAEiTgoZVHJpZ2dlckFJV29ya2Zsb3dSZXNwb25zZRIQCghqb2JfbmFtZRgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSJyChJFeHBvcnRUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARItCg5maWx0ZXJfb3B0aW9ucxgCIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zEhAKCHRhc2tfaWRzGAMgAygNIjwKE0V4cG9ydFRhc2tzUmVzcG9uc2USEwoLY3N2X2NvbnRlbnQYASABKAwSEAoIZmlsZW5hbWUYAiABKAkicAoSSW1wb3J0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESIQoLY3N2X2NvbnRlbnQYAiABKAxCDPpCCXoHEAEYgICABRIaChJza2lwX25vdGlmaWNhdGlvbnMYAyABKAgiRQoMSW1wb3J0ZWRUYXNrEhMKC2V4dGVybmFsX2lkGAEgASgJEg8KB3Rhc2tfaWQYAiABKA0SDwoHY3JlYXRlZBgDIAEoCCKtAQoTSW1wb3J0VGFza3NSZXNwb25zZRIVCg1jcmVhdGVkX2NvdW50GAEgASgFEhUKDXVwZGF0ZWRfY291bnQYAiABKAUSFAoMZmFpbGVkX2NvdW50GAMgASgFEg4KBmVycm9ycxgEIAMoCRIVCg1za2lwcGVkX2NvdW50GAUgASgFEisKDWNyZWF0ZWRfdGFza3MYBiADKAsyFC5hcGkudjEuSW1wb3J0ZWRUYXNrIqcBCghUYXNrTGluaxIfCgtleHRlcm5hbF9pZBgBIAEoCUIK+kIHcgUQARiAARIpChJwYXJlbnRfZXh0ZXJuYWxfaWQYAiABKAlCCPpCBXIDGIABSACIAQESJQoObWlsZXN0b25lX25hbWUYAyABKAlCCPpCBXIDGIACSAGIAQFCFQoTX3BhcmVudF9leHRlcm5hbF9pZEIRCg9fbWlsZXN0b25lX25hbWUiZwocTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEioKBWxpbmtzGAIgAygLMhAuYXBpLnYxLlRhc2tMaW5rQgn6QgaSAQMQiCciYgodTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVzcG9uc2USFgoObGlua2VkX3BhcmVudHMYASABKAUSGQoRbGlua2VkX21pbGVzdG9uZXMYAiABKAUSDgoGZXJyb3JzGAMgAygJIrcEChRCdWxrRWRpdFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEhoKCHRhc2tfaWRzGAIgAygNQgj6QgWSAQIIARIcCg9ib2FyZF9jb2x1bW5faWQYAyABKA1IAIgBARIdChB0YXNrX3ByaW9yaXR5X2lkGAQgASgNSAGIAQESGQoMdGFza190eXBlX2lkGAUgASgNSAKIAQESHQoQYXNzaWduZWRfdXNlcl9pZBgGIAEoDUgDiAEBEhUKCGN5Y2xlX2lkGAcgASgNSASIAQESFgoOcmVwb3NpdG9yeV9pZHMYCCADKA0SIgoMc3RvcnlfcG9pbnRzGAkgASgFQgf6QgQaAigBSAWIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAogASgBQg76QgsSCSkAAAAAAAAAAEgGiAEBEhsKDnBhcmVudF90YXNrX2lkGAsgASgNSAeIAQESEQoJbGFiZWxfaWRzGAwgAygNEhkKDG1pbGVzdG9uZV9pZBgNIAEoDUgIiAEBQhIKEF9ib2FyZF9jb2x1bW5faWRCEwoRX3Rhc2tfcHJpb3JpdHlfaWRCDwoNX3Rhc2tfdHlwZV9pZEITChFfYXNzaWduZWRfdXNlcl9pZEILCglfY3ljbGVfaWRCDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQhEKD19wYXJlbnRfdGFza19pZEIPCg1fbWlsZXN0b25lX2lkIi4KFUJ1bGtFZGl0VGFza3NSZXNwb25zZRIVCg11cGRhdGVkX2NvdW50GAEgASgFIlEKFkJ1bGtEZWxldGVUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAEiMAoXQnVsa0RlbGV0ZVRhc2tzUmVzcG9uc2USFQoNZGVsZXRlZF9jb3VudBgBIAEoBSJ2ChFBZGRXb3JrTG9nUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEh0KBWhvdXJzGAIgASgBQg76QgsSCSmamZmZmZm5PxIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiI3ChJBZGRXb3JrTG9nUmVzcG9uc2USIQoId29ya19sb2cYASABKAsyDy5hcGkudjEuV29ya0xvZyIzChREZWxldGVXb3JrTG9nUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgNEgoKAmlkGAIgASgNMukMCgtUYXNrU2VydmljZRJ9CgtFeHBvcnRUYXNrcxIaLmFwaS52MS5FeHBvcnRUYXNrc1JlcXVlc3QaGy5hcGkudjEuRXhwb3J0VGFza3NSZXNwb25zZSI1gtPkkwIvOgEqIiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9leHBvcnQSfQoLSW1wb3J0VGFza3MSGi5hcGkudjEuSW1wb3J0VGFza3NSZXF1ZXN0GhsuYXBpLnYxLkltcG9ydFRhc2tzUmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvaW1wb3J0EqgBChVMaW5rVGFza3NCeUV4dGVybmFsSWQSJC5hcGkudjEuTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVxdWVzdBolLmFwaS52MS5MaW5rVGFza3NCeUV4dGVybmFsSWRSZXNwb25zZSJCgtPkkwI8OgEqIjcvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9saW5rLWJ5LWV4dGVybmFsLWlkElQKB0FkZFRhc2sSFi5hcGkudjEuQWRkVGFza1JlcXVlc3QaFy5hcGkudjEuQWRkVGFza1Jlc3BvbnNlIhiC0+STAhI6ASoiDS9hcGkvdjEvdGFza3MSXAoIRWRpdFRhc2sSFy5hcGkudjEuRWRpdFRhc2tSZXF1ZXN0GhguYXBpLnYxLkVkaXRUYXNrUmVzcG9uc2UiHYLT5JMCFzoBKhoSL2FwaS92MS90YXNrcy97aWR9ElYKB0dldFRhc2sSFi5hcGkudjEuR2V0VGFza1JlcXVlc3QaFy5hcGkudjEuR2V0VGFza1Jlc3BvbnNlIhqC0+STAhQSEi9hcGkvdjEvdGFza3Mve2lkfRJpCg1HZXRUYXNrQnlVVUlEEhwuYXBpLnYxLkdldFRhc2tCeVVVSURSZXF1ZXN0GhcuYXBpLnYxLkdldFRhc2tSZXNwb25zZSIhgtPkkwIbEhkvYXBpL3YxL3Rhc2tzL3V1aWQve3V1aWR9ElQKCEdldFRhc2tzEhcuYXBpLnYxLkdldFRhc2tzUmVxdWVzdBoYLmFwaS52MS5HZXRUYXNrc1Jlc3BvbnNlIhWC0+STAg8SDS9hcGkvdjEvdGFza3MSWwoKRGVsZXRlVGFzaxIZLmFwaS52MS5EZWxldGVUYXNrUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUKhIvYXBpL3YxL3Rhc2tzL3tpZH0ShwEKEVRyaWdnZXJBSVdvcmtmbG93EiAuYXBpLnYxLlRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBohLmFwaS52MS5UcmlnZ2VyQUlXb3JrZmxvd1Jlc3BvbnNlIi2C0+STAic6ASoiIi9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3RyaWdnZXItYWkScQoKQWRkV29ya0xvZxIZLmFwaS52MS5BZGRXb3JrTG9nUmVxdWVzdBoaLmFwaS52MS5BZGRXb3JrTG9nUmVzcG9uc2UiLILT5JMCJjoBKiIhL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzEnUKDURlbGV0ZVdvcmtMb2cSHC5hcGkudjEuRGVsZXRlV29ya0xvZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKComL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzL3tpZH0SgQEKDUJ1bGtFZGl0VGFza3MSHC5hcGkudjEuQnVsa0VkaXRUYXNrc1JlcXVlc3QaHS5hcGkudjEuQnVsa0VkaXRUYXNrc1Jlc3BvbnNlIjOC0+STAi06ASoaKC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGsSjgEKD0J1bGtEZWxldGVUYXNrcxIeLmFwaS52MS5CdWxrRGVsZXRlVGFza3NSZXF1ZXN0Gh8uYXBpLnYxLkJ1bGtEZWxldGVUYXNrc1Jlc3BvbnNlIjqC0+STAjQ6ASoiLy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGstZGVsZXRlQm4KCmNvbS5hcGkudjFCCVRhc2tQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_empty, file_google_protobuf_timestamp, 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.AddTaskRequest.