@eide/foir-proto-ts 0.100.0 → 0.102.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eide/foir-proto-ts",
3
- "version": "0.100.0",
3
+ "version": "0.102.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./common/v1/pagination_pb": "./src/common/v1/pagination_pb.js",
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
 
6
- import { CreateAppRequest, CreateAppResponse, CreateDomainRequest, CreateDomainResponse, CreateEnvironmentRequest, CreateEnvironmentResponse, CreateProviderAccountRequest, CreateProviderAccountResponse, CreateSecretBindingRequest, CreateSecretBindingResponse, DeleteAppRequest, DeleteAppResponse, DeleteDomainRequest, DeleteDomainResponse, DeleteEnvironmentRequest, DeleteEnvironmentResponse, DeleteProviderAccountRequest, DeleteProviderAccountResponse, DeleteSecretBindingRequest, DeleteSecretBindingResponse, GetAppRequest, GetAppResponse, GetDeploymentRequest, GetDeploymentResponse, GetDomainRequest, GetDomainResponse, GetEnvironmentRequest, GetEnvironmentResponse, GetProviderAccountRequest, GetProviderAccountResponse, GetReconcileStatusRequest, GetReconcileStatusResponse, GetSecretBindingRequest, GetSecretBindingResponse, ListAppsRequest, ListAppsResponse, ListDeploymentsRequest, ListDeploymentsResponse, ListDomainsRequest, ListDomainsResponse, ListEnvironmentsRequest, ListEnvironmentsResponse, ListProviderAccountsRequest, ListProviderAccountsResponse, ListSecretBindingsRequest, ListSecretBindingsResponse, TriggerDeployRequest, TriggerDeployResponse, TriggerReconcileRequest, TriggerReconcileResponse, UpdateAppRequest, UpdateAppResponse, UpdateEnvironmentRequest, UpdateEnvironmentResponse, UpdateProviderAccountRequest, UpdateProviderAccountResponse, UpdateSecretBindingRequest, UpdateSecretBindingResponse } from "./deploy_pbjs";
6
+ import { CreateAppRequest, CreateAppResponse, CreateDomainRequest, CreateDomainResponse, CreateEnvironmentRequest, CreateEnvironmentResponse, CreateProviderAccountRequest, CreateProviderAccountResponse, CreateSecretBindingRequest, CreateSecretBindingResponse, DeleteAppRequest, DeleteAppResponse, DeleteDomainRequest, DeleteDomainResponse, DeleteEnvironmentRequest, DeleteEnvironmentResponse, DeleteProviderAccountRequest, DeleteProviderAccountResponse, DeleteSecretBindingRequest, DeleteSecretBindingResponse, GetAppRequest, GetAppResponse, GetDeploymentRequest, GetDeploymentResponse, GetDomainRequest, GetDomainResponse, GetEnvironmentRequest, GetEnvironmentResponse, GetProviderAccountRequest, GetProviderAccountResponse, GetReconcileStatusRequest, GetReconcileStatusResponse, GetSecretBindingRequest, GetSecretBindingResponse, ListAppsRequest, ListAppsResponse, ListBranchesRequest, ListBranchesResponse, ListDeploymentsRequest, ListDeploymentsResponse, ListDomainsRequest, ListDomainsResponse, ListEnvironmentsRequest, ListEnvironmentsResponse, ListProviderAccountsRequest, ListProviderAccountsResponse, ListReposRequest, ListReposResponse, ListSecretBindingsRequest, ListSecretBindingsResponse, TriggerDeployRequest, TriggerDeployResponse, TriggerReconcileRequest, TriggerReconcileResponse, UpdateAppRequest, UpdateAppResponse, UpdateEnvironmentRequest, UpdateEnvironmentResponse, UpdateProviderAccountRequest, UpdateProviderAccountResponse, UpdateSecretBindingRequest, UpdateSecretBindingResponse } from "./deploy_pbjs";
7
7
  import { MethodKind } from "@bufbuild/protobuf";
8
8
 
9
9
  /**
@@ -258,6 +258,26 @@ export declare const DeployService: {
258
258
  readonly O: typeof GetDeploymentResponse,
259
259
  readonly kind: MethodKind.Unary,
260
260
  },
261
+ /**
262
+ * ── Repo discovery ──
263
+ *
264
+ * @generated from rpc deploy.v1.DeployService.ListRepos
265
+ */
266
+ readonly listRepos: {
267
+ readonly name: "ListRepos",
268
+ readonly I: typeof ListReposRequest,
269
+ readonly O: typeof ListReposResponse,
270
+ readonly kind: MethodKind.Unary,
271
+ },
272
+ /**
273
+ * @generated from rpc deploy.v1.DeployService.ListBranches
274
+ */
275
+ readonly listBranches: {
276
+ readonly name: "ListBranches",
277
+ readonly I: typeof ListBranchesRequest,
278
+ readonly O: typeof ListBranchesResponse,
279
+ readonly kind: MethodKind.Unary,
280
+ },
261
281
  /**
262
282
  * ── Reconcile / deploy ──
263
283
  *
@@ -3,7 +3,7 @@
3
3
  /* eslint-disable */
4
4
  // @ts-nocheck
5
5
 
6
- import { CreateAppRequest, CreateAppResponse, CreateDomainRequest, CreateDomainResponse, CreateEnvironmentRequest, CreateEnvironmentResponse, CreateProviderAccountRequest, CreateProviderAccountResponse, CreateSecretBindingRequest, CreateSecretBindingResponse, DeleteAppRequest, DeleteAppResponse, DeleteDomainRequest, DeleteDomainResponse, DeleteEnvironmentRequest, DeleteEnvironmentResponse, DeleteProviderAccountRequest, DeleteProviderAccountResponse, DeleteSecretBindingRequest, DeleteSecretBindingResponse, GetAppRequest, GetAppResponse, GetDeploymentRequest, GetDeploymentResponse, GetDomainRequest, GetDomainResponse, GetEnvironmentRequest, GetEnvironmentResponse, GetProviderAccountRequest, GetProviderAccountResponse, GetReconcileStatusRequest, GetReconcileStatusResponse, GetSecretBindingRequest, GetSecretBindingResponse, ListAppsRequest, ListAppsResponse, ListDeploymentsRequest, ListDeploymentsResponse, ListDomainsRequest, ListDomainsResponse, ListEnvironmentsRequest, ListEnvironmentsResponse, ListProviderAccountsRequest, ListProviderAccountsResponse, ListSecretBindingsRequest, ListSecretBindingsResponse, TriggerDeployRequest, TriggerDeployResponse, TriggerReconcileRequest, TriggerReconcileResponse, UpdateAppRequest, UpdateAppResponse, UpdateEnvironmentRequest, UpdateEnvironmentResponse, UpdateProviderAccountRequest, UpdateProviderAccountResponse, UpdateSecretBindingRequest, UpdateSecretBindingResponse } from "./deploy_pbjs";
6
+ import { CreateAppRequest, CreateAppResponse, CreateDomainRequest, CreateDomainResponse, CreateEnvironmentRequest, CreateEnvironmentResponse, CreateProviderAccountRequest, CreateProviderAccountResponse, CreateSecretBindingRequest, CreateSecretBindingResponse, DeleteAppRequest, DeleteAppResponse, DeleteDomainRequest, DeleteDomainResponse, DeleteEnvironmentRequest, DeleteEnvironmentResponse, DeleteProviderAccountRequest, DeleteProviderAccountResponse, DeleteSecretBindingRequest, DeleteSecretBindingResponse, GetAppRequest, GetAppResponse, GetDeploymentRequest, GetDeploymentResponse, GetDomainRequest, GetDomainResponse, GetEnvironmentRequest, GetEnvironmentResponse, GetProviderAccountRequest, GetProviderAccountResponse, GetReconcileStatusRequest, GetReconcileStatusResponse, GetSecretBindingRequest, GetSecretBindingResponse, ListAppsRequest, ListAppsResponse, ListBranchesRequest, ListBranchesResponse, ListDeploymentsRequest, ListDeploymentsResponse, ListDomainsRequest, ListDomainsResponse, ListEnvironmentsRequest, ListEnvironmentsResponse, ListProviderAccountsRequest, ListProviderAccountsResponse, ListReposRequest, ListReposResponse, ListSecretBindingsRequest, ListSecretBindingsResponse, TriggerDeployRequest, TriggerDeployResponse, TriggerReconcileRequest, TriggerReconcileResponse, UpdateAppRequest, UpdateAppResponse, UpdateEnvironmentRequest, UpdateEnvironmentResponse, UpdateProviderAccountRequest, UpdateProviderAccountResponse, UpdateSecretBindingRequest, UpdateSecretBindingResponse } from "./deploy_pbjs";
7
7
  import { MethodKind } from "@bufbuild/protobuf";
8
8
 
9
9
  /**
@@ -258,6 +258,26 @@ export const DeployService = {
258
258
  O: GetDeploymentResponse,
259
259
  kind: MethodKind.Unary,
260
260
  },
261
+ /**
262
+ * ── Repo discovery ──
263
+ *
264
+ * @generated from rpc deploy.v1.DeployService.ListRepos
265
+ */
266
+ listRepos: {
267
+ name: "ListRepos",
268
+ I: ListReposRequest,
269
+ O: ListReposResponse,
270
+ kind: MethodKind.Unary,
271
+ },
272
+ /**
273
+ * @generated from rpc deploy.v1.DeployService.ListBranches
274
+ */
275
+ listBranches: {
276
+ name: "ListBranches",
277
+ I: ListBranchesRequest,
278
+ O: ListBranchesResponse,
279
+ kind: MethodKind.Unary,
280
+ },
261
281
  /**
262
282
  * ── Reconcile / deploy ──
263
283
  *
@@ -84,32 +84,18 @@ export declare type ProviderAccount = Message<"deploy.v1.ProviderAccount"> & {
84
84
  provider: string;
85
85
 
86
86
  /**
87
- * @generated from field: string cf_account_id = 5;
88
- */
89
- cfAccountId: string;
90
-
91
- /**
87
+ * The per-client GitHub App installation. CF account creds are platform
88
+ * config (single Foir-owned account), not stored per provider account.
89
+ *
92
90
  * @generated from field: optional string github_app_installation_id = 6;
93
91
  */
94
92
  githubAppInstallationId?: string | undefined;
95
93
 
96
- /**
97
- * @generated from field: optional string default_zone_id = 7;
98
- */
99
- defaultZoneId?: string | undefined;
100
-
101
94
  /**
102
95
  * @generated from field: optional string dispatch_namespace = 8;
103
96
  */
104
97
  dispatchNamespace?: string | undefined;
105
98
 
106
- /**
107
- * vault ref to a USER-OWNED Cloudflare API token (never the token itself)
108
- *
109
- * @generated from field: string api_token_ref = 9;
110
- */
111
- apiTokenRef: string;
112
-
113
99
  /**
114
100
  * @generated from field: google.protobuf.Timestamp created_at = 50;
115
101
  */
@@ -699,30 +685,15 @@ export declare type CreateProviderAccountRequest = Message<"deploy.v1.CreateProv
699
685
  */
700
686
  provider?: string | undefined;
701
687
 
702
- /**
703
- * @generated from field: string cf_account_id = 2;
704
- */
705
- cfAccountId: string;
706
-
707
688
  /**
708
689
  * @generated from field: optional string github_app_installation_id = 3;
709
690
  */
710
691
  githubAppInstallationId?: string | undefined;
711
692
 
712
- /**
713
- * @generated from field: optional string default_zone_id = 4;
714
- */
715
- defaultZoneId?: string | undefined;
716
-
717
693
  /**
718
694
  * @generated from field: optional string dispatch_namespace = 5;
719
695
  */
720
696
  dispatchNamespace?: string | undefined;
721
-
722
- /**
723
- * @generated from field: string api_token_ref = 6;
724
- */
725
- apiTokenRef: string;
726
697
  };
727
698
 
728
699
  /**
@@ -756,30 +727,15 @@ export declare type UpdateProviderAccountRequest = Message<"deploy.v1.UpdateProv
756
727
  */
757
728
  id: string;
758
729
 
759
- /**
760
- * @generated from field: string cf_account_id = 2;
761
- */
762
- cfAccountId: string;
763
-
764
730
  /**
765
731
  * @generated from field: optional string github_app_installation_id = 3;
766
732
  */
767
733
  githubAppInstallationId?: string | undefined;
768
734
 
769
- /**
770
- * @generated from field: optional string default_zone_id = 4;
771
- */
772
- defaultZoneId?: string | undefined;
773
-
774
735
  /**
775
736
  * @generated from field: optional string dispatch_namespace = 5;
776
737
  */
777
738
  dispatchNamespace?: string | undefined;
778
-
779
- /**
780
- * @generated from field: string api_token_ref = 6;
781
- */
782
- apiTokenRef: string;
783
739
  };
784
740
 
785
741
  /**
@@ -1945,6 +1901,147 @@ export declare type GetDeploymentResponse = Message<"deploy.v1.GetDeploymentResp
1945
1901
  */
1946
1902
  export declare const GetDeploymentResponseSchema: GenMessage<GetDeploymentResponse>;
1947
1903
 
1904
+ /**
1905
+ * A GitHub repository the connected App installation can access. The ids come
1906
+ * from GitHub's API (Cloudflare exposes no repo listing); github_repo_id +
1907
+ * github_account_id are what EnsureRepoConnection needs.
1908
+ *
1909
+ * @generated from message deploy.v1.Repo
1910
+ */
1911
+ export declare type Repo = Message<"deploy.v1.Repo"> & {
1912
+ /**
1913
+ * @generated from field: string github_repo_id = 1;
1914
+ */
1915
+ githubRepoId: string;
1916
+
1917
+ /**
1918
+ * @generated from field: string owner = 2;
1919
+ */
1920
+ owner: string;
1921
+
1922
+ /**
1923
+ * @generated from field: string name = 3;
1924
+ */
1925
+ name: string;
1926
+
1927
+ /**
1928
+ * @generated from field: string default_branch = 4;
1929
+ */
1930
+ defaultBranch: string;
1931
+
1932
+ /**
1933
+ * @generated from field: string github_account_id = 5;
1934
+ */
1935
+ githubAccountId: string;
1936
+
1937
+ /**
1938
+ * @generated from field: string github_account_name = 6;
1939
+ */
1940
+ githubAccountName: string;
1941
+ };
1942
+
1943
+ /**
1944
+ * Describes the message deploy.v1.Repo.
1945
+ * Use `create(RepoSchema)` to create a new message.
1946
+ */
1947
+ export declare const RepoSchema: GenMessage<Repo>;
1948
+
1949
+ /**
1950
+ * @generated from message deploy.v1.ListReposRequest
1951
+ */
1952
+ export declare type ListReposRequest = Message<"deploy.v1.ListReposRequest"> & {
1953
+ /**
1954
+ * @generated from field: string provider_account_id = 1;
1955
+ */
1956
+ providerAccountId: string;
1957
+
1958
+ /**
1959
+ * opaque page cursor
1960
+ *
1961
+ * @generated from field: optional string after = 2;
1962
+ */
1963
+ after?: string | undefined;
1964
+ };
1965
+
1966
+ /**
1967
+ * Describes the message deploy.v1.ListReposRequest.
1968
+ * Use `create(ListReposRequestSchema)` to create a new message.
1969
+ */
1970
+ export declare const ListReposRequestSchema: GenMessage<ListReposRequest>;
1971
+
1972
+ /**
1973
+ * @generated from message deploy.v1.ListReposResponse
1974
+ */
1975
+ export declare type ListReposResponse = Message<"deploy.v1.ListReposResponse"> & {
1976
+ /**
1977
+ * @generated from field: repeated deploy.v1.Repo items = 1;
1978
+ */
1979
+ items: Repo[];
1980
+
1981
+ /**
1982
+ * next page cursor; absent when exhausted
1983
+ *
1984
+ * @generated from field: optional string next = 2;
1985
+ */
1986
+ next?: string | undefined;
1987
+ };
1988
+
1989
+ /**
1990
+ * Describes the message deploy.v1.ListReposResponse.
1991
+ * Use `create(ListReposResponseSchema)` to create a new message.
1992
+ */
1993
+ export declare const ListReposResponseSchema: GenMessage<ListReposResponse>;
1994
+
1995
+ /**
1996
+ * Branches a repo exposes, for the New App branch pickers. Sourced from the
1997
+ * GitHub App installation (same path as ListRepos).
1998
+ *
1999
+ * @generated from message deploy.v1.ListBranchesRequest
2000
+ */
2001
+ export declare type ListBranchesRequest = Message<"deploy.v1.ListBranchesRequest"> & {
2002
+ /**
2003
+ * @generated from field: string provider_account_id = 1;
2004
+ */
2005
+ providerAccountId: string;
2006
+
2007
+ /**
2008
+ * @generated from field: string owner = 2;
2009
+ */
2010
+ owner: string;
2011
+
2012
+ /**
2013
+ * @generated from field: string repo = 3;
2014
+ */
2015
+ repo: string;
2016
+ };
2017
+
2018
+ /**
2019
+ * Describes the message deploy.v1.ListBranchesRequest.
2020
+ * Use `create(ListBranchesRequestSchema)` to create a new message.
2021
+ */
2022
+ export declare const ListBranchesRequestSchema: GenMessage<ListBranchesRequest>;
2023
+
2024
+ /**
2025
+ * @generated from message deploy.v1.ListBranchesResponse
2026
+ */
2027
+ export declare type ListBranchesResponse = Message<"deploy.v1.ListBranchesResponse"> & {
2028
+ /**
2029
+ * @generated from field: repeated string branches = 1;
2030
+ */
2031
+ branches: string[];
2032
+
2033
+ /**
2034
+ * @generated from field: string default_branch = 2;
2035
+ */
2036
+ defaultBranch: string;
2037
+ };
2038
+
2039
+ /**
2040
+ * Describes the message deploy.v1.ListBranchesResponse.
2041
+ * Use `create(ListBranchesResponseSchema)` to create a new message.
2042
+ */
2043
+ export declare const ListBranchesResponseSchema: GenMessage<ListBranchesResponse>;
2044
+
1948
2045
  /**
1949
2046
  * @generated from message deploy.v1.TriggerReconcileRequest
1950
2047
  */
@@ -2277,6 +2374,24 @@ export declare const DeployService: GenService<{
2277
2374
  input: typeof GetDeploymentRequestSchema;
2278
2375
  output: typeof GetDeploymentResponseSchema;
2279
2376
  },
2377
+ /**
2378
+ * ── Repo discovery ──
2379
+ *
2380
+ * @generated from rpc deploy.v1.DeployService.ListRepos
2381
+ */
2382
+ listRepos: {
2383
+ methodKind: "unary";
2384
+ input: typeof ListReposRequestSchema;
2385
+ output: typeof ListReposResponseSchema;
2386
+ },
2387
+ /**
2388
+ * @generated from rpc deploy.v1.DeployService.ListBranches
2389
+ */
2390
+ listBranches: {
2391
+ methodKind: "unary";
2392
+ input: typeof ListBranchesRequestSchema;
2393
+ output: typeof ListBranchesResponseSchema;
2394
+ },
2280
2395
  /**
2281
2396
  * ── Reconcile / deploy ──
2282
2397
  *
@@ -10,7 +10,7 @@ import { file_common_v1_pagination } from "../../common/v1/pagination_pb.js";
10
10
  * Describes the file deploy/v1/deploy.proto.
11
11
  */
12
12
  export const file_deploy_v1_deploy = /*@__PURE__*/
13
- fileDesc("ChZkZXBsb3kvdjEvZGVwbG95LnByb3RvEglkZXBsb3kudjEi4gEKD1JlY29uY2lsZVN0YXR1cxISCgpnZW5lcmF0aW9uGAEgASgDEhsKE29ic2VydmVkX2dlbmVyYXRpb24YAiABKAMSDgoGc3RhdHVzGAMgASgJEjsKEmxhc3RfcmVjb25jaWxlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIXCgpsYXN0X2Vycm9yGAUgASgJSAGIAQESEgoKZmluYWxpemVycxgGIAMoCUIVChNfbGFzdF9yZWNvbmNpbGVkX2F0Qg0KC19sYXN0X2Vycm9yIuYDCg9Qcm92aWRlckFjY291bnQSCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSFQoNY2ZfYWNjb3VudF9pZBgFIAEoCRInChpnaXRodWJfYXBwX2luc3RhbGxhdGlvbl9pZBgGIAEoCUgAiAEBEhwKD2RlZmF1bHRfem9uZV9pZBgHIAEoCUgBiAEBEh8KEmRpc3BhdGNoX25hbWVzcGFjZRgIIAEoCUgCiAEBEhUKDWFwaV90b2tlbl9yZWYYCSABKAkSLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRg0IAEoCUgDiAEBEhcKCnVwZGF0ZWRfYnkYNSABKAlIBIgBAUIdChtfZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25faWRCEgoQX2RlZmF1bHRfem9uZV9pZEIVChNfZGlzcGF0Y2hfbmFtZXNwYWNlQg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5IuMFCgNBcHASCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSGwoTcHJvdmlkZXJfYWNjb3VudF9pZBgEIAEoCRIMCgRuYW1lGAUgASgJEgwKBHNsdWcYBiABKAkSEgoKcmVwb19vd25lchgHIAEoCRIRCglyZXBvX25hbWUYCCABKAkSGwoTcmVwb19kZWZhdWx0X2JyYW5jaBgJIAEoCRIbCg5yb290X2RpcmVjdG9yeRgKIAEoCUgAiAEBEhMKC3dhdGNoX3BhdGhzGAsgAygJEhYKCWZyYW1ld29yaxgMIAEoCUgBiAEBEhsKDmdpdGh1Yl9yZXBvX2lkGA0gASgJSAKIAQESHgoRZ2l0aHViX2FjY291bnRfaWQYDiABKAlIA4gBARIgChNnaXRodWJfYWNjb3VudF9uYW1lGA8gASgJSASIAQESLQoJcmVjb25jaWxlGBAgASgLMhouZGVwbG95LnYxLlJlY29uY2lsZVN0YXR1cxIzCgpkZWxldGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYNCABKAlIBogBARIXCgp1cGRhdGVkX2J5GDUgASgJSAeIAQFCEQoPX3Jvb3RfZGlyZWN0b3J5QgwKCl9mcmFtZXdvcmtCEQoPX2dpdGh1Yl9yZXBvX2lkQhQKEl9naXRodWJfYWNjb3VudF9pZEIWChRfZ2l0aHViX2FjY291bnRfbmFtZUINCgtfZGVsZXRlZF9hdEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSL3AwoLRW52aXJvbm1lbnQSCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSDgoGYXBwX2lkGAQgASgJEgwKBHJvbGUYBSABKAkSDAoEbmFtZRgGIAEoCRIWCg5jZl93b3JrZXJfbmFtZRgHIAEoCRIZCgx3cmFuZ2xlcl9lbnYYCCABKAlIAIgBARIbCg5tYXRjaF9icmFuY2hlcxgJIAEoCUgBiAEBEhoKDWJ1aWxkX2NvbW1hbmQYCiABKAlIAogBARIbCg5kZXBsb3lfY29tbWFuZBgLIAEoCUgDiAEBEhUKDWJ1aWxkX2VuYWJsZWQYDCABKAgSGAoQcmVjb25jaWxlX3N0YXR1cxgNIAEoCRIXCgpsYXN0X2Vycm9yGA4gASgJSASIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX3dyYW5nbGVyX2VudkIRCg9fbWF0Y2hfYnJhbmNoZXNCEAoOX2J1aWxkX2NvbW1hbmRCEQoPX2RlcGxveV9jb21tYW5kQg0KC19sYXN0X2Vycm9yIoADCg1TZWNyZXRCaW5kaW5nEgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhYKDmVudmlyb25tZW50X2lkGAQgASgJEgwKBGtpbmQYBSABKAkSGgoSd29ya2VyX3NlY3JldF9uYW1lGAYgASgJEhYKCXZhdWx0X3JlZhgHIAEoCUgAiAEBEhgKC3BsYWluX3ZhbHVlGAggASgJSAGIAQESNwoObGFzdF9zeW5jZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX3ZhdWx0X3JlZkIOCgxfcGxhaW5fdmFsdWVCEQoPX2xhc3Rfc3luY2VkX2F0ItwCCgZEb21haW4SCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSFgoOZW52aXJvbm1lbnRfaWQYBCABKAkSEAoIaG9zdG5hbWUYBSABKAkSDAoEbW9kZRgGIAEoCRIUCgd6b25lX2lkGAcgASgJSACIAQESIgoVY2ZfY3VzdG9tX2hvc3RuYW1lX2lkGAggASgJSAGIAQESEwoLY2VydF9zdGF0dXMYCSABKAkSEgoKaXNfcHJpbWFyeRgKIAEoCBIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfem9uZV9pZEIYChZfY2ZfY3VzdG9tX2hvc3RuYW1lX2lkIqIECgpEZXBsb3ltZW50EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhYKDmVudmlyb25tZW50X2lkGAQgASgJEhQKB2dpdF9zaGEYBSABKAlIAIgBARIXCgpnaXRfYnJhbmNoGAYgASgJSAGIAQESDwoHdHJpZ2dlchgHIAEoCRIYCgtjZl9idWlsZF9pZBgIIAEoCUgCiAEBEhoKDWNmX3ZlcnNpb25faWQYCSABKAlIA4gBARIOCgZzdGF0dXMYCiABKAkSGAoLcHJldmlld191cmwYCyABKAlIBIgBARIVCghsb2dzX3VybBgMIAEoCUgFiAEBEjMKCnN0YXJ0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESNAoLZmluaXNoZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2dpdF9zaGFCDQoLX2dpdF9icmFuY2hCDgoMX2NmX2J1aWxkX2lkQhAKDl9jZl92ZXJzaW9uX2lkQg4KDF9wcmV2aWV3X3VybEILCglfbG9nc191cmxCDQoLX3N0YXJ0ZWRfYXRCDgoMX2ZpbmlzaGVkX2F0IswBChtMaXN0UHJvdmlkZXJBY2NvdW50c1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqQBChxMaXN0UHJvdmlkZXJBY2NvdW50c1Jlc3BvbnNlEikKBWl0ZW1zGAEgAygLMhouZGVwbG95LnYxLlByb3ZpZGVyQWNjb3VudBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iJwoZR2V0UHJvdmlkZXJBY2NvdW50UmVxdWVzdBIKCgJpZBgBIAEoCSJSChpHZXRQcm92aWRlckFjY291bnRSZXNwb25zZRI0ChBwcm92aWRlcl9hY2NvdW50GAEgASgLMhouZGVwbG95LnYxLlByb3ZpZGVyQWNjb3VudCKiAgocQ3JlYXRlUHJvdmlkZXJBY2NvdW50UmVxdWVzdBIVCghwcm92aWRlchgBIAEoCUgAiAEBEhUKDWNmX2FjY291bnRfaWQYAiABKAkSJwoaZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25faWQYAyABKAlIAYgBARIcCg9kZWZhdWx0X3pvbmVfaWQYBCABKAlIAogBARIfChJkaXNwYXRjaF9uYW1lc3BhY2UYBSABKAlIA4gBARIVCg1hcGlfdG9rZW5fcmVmGAYgASgJQgsKCV9wcm92aWRlckIdChtfZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25faWRCEgoQX2RlZmF1bHRfem9uZV9pZEIVChNfZGlzcGF0Y2hfbmFtZXNwYWNlIlUKHUNyZWF0ZVByb3ZpZGVyQWNjb3VudFJlc3BvbnNlEjQKEHByb3ZpZGVyX2FjY291bnQYASABKAsyGi5kZXBsb3kudjEuUHJvdmlkZXJBY2NvdW50IooCChxVcGRhdGVQcm92aWRlckFjY291bnRSZXF1ZXN0EgoKAmlkGAEgASgJEhUKDWNmX2FjY291bnRfaWQYAiABKAkSJwoaZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25faWQYAyABKAlIAIgBARIcCg9kZWZhdWx0X3pvbmVfaWQYBCABKAlIAYgBARIfChJkaXNwYXRjaF9uYW1lc3BhY2UYBSABKAlIAogBARIVCg1hcGlfdG9rZW5fcmVmGAYgASgJQh0KG19naXRodWJfYXBwX2luc3RhbGxhdGlvbl9pZEISChBfZGVmYXVsdF96b25lX2lkQhUKE19kaXNwYXRjaF9uYW1lc3BhY2UiVQodVXBkYXRlUHJvdmlkZXJBY2NvdW50UmVzcG9uc2USNAoQcHJvdmlkZXJfYWNjb3VudBgBIAEoCzIaLmRlcGxveS52MS5Qcm92aWRlckFjY291bnQiKgocRGVsZXRlUHJvdmlkZXJBY2NvdW50UmVxdWVzdBIKCgJpZBgBIAEoCSIwCh1EZWxldGVQcm92aWRlckFjY291bnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIsABCg9MaXN0QXBwc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IowBChBMaXN0QXBwc1Jlc3BvbnNlEh0KBWl0ZW1zGAEgAygLMg4uZGVwbG95LnYxLkFwcBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGwoNR2V0QXBwUmVxdWVzdBIKCgJpZBgBIAEoCSKyAQoOR2V0QXBwUmVzcG9uc2USGwoDYXBwGAEgASgLMg4uZGVwbG95LnYxLkFwcBIsCgxlbnZpcm9ubWVudHMYAiADKAsyFi5kZXBsb3kudjEuRW52aXJvbm1lbnQSIgoHZG9tYWlucxgDIAMoCzIRLmRlcGxveS52MS5Eb21haW4SMQoPc2VjcmV0X2JpbmRpbmdzGAQgAygLMhguZGVwbG95LnYxLlNlY3JldEJpbmRpbmcitwMKEENyZWF0ZUFwcFJlcXVlc3QSGwoTcHJvdmlkZXJfYWNjb3VudF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHNsdWcYAyABKAkSEgoKcmVwb19vd25lchgEIAEoCRIRCglyZXBvX25hbWUYBSABKAkSIAoTcmVwb19kZWZhdWx0X2JyYW5jaBgGIAEoCUgAiAEBEhsKDnJvb3RfZGlyZWN0b3J5GAcgASgJSAGIAQESEwoLd2F0Y2hfcGF0aHMYCCADKAkSFgoJZnJhbWV3b3JrGAkgASgJSAKIAQESGwoOZ2l0aHViX3JlcG9faWQYCiABKAlIA4gBARIeChFnaXRodWJfYWNjb3VudF9pZBgLIAEoCUgEiAEBEiAKE2dpdGh1Yl9hY2NvdW50X25hbWUYDCABKAlIBYgBAUIWChRfcmVwb19kZWZhdWx0X2JyYW5jaEIRCg9fcm9vdF9kaXJlY3RvcnlCDAoKX2ZyYW1ld29ya0IRCg9fZ2l0aHViX3JlcG9faWRCFAoSX2dpdGh1Yl9hY2NvdW50X2lkQhYKFF9naXRodWJfYWNjb3VudF9uYW1lIjAKEUNyZWF0ZUFwcFJlc3BvbnNlEhsKA2FwcBgBIAEoCzIOLmRlcGxveS52MS5BcHAiiQMKEFVwZGF0ZUFwcFJlcXVlc3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhIKCnJlcG9fb3duZXIYBCABKAkSEQoJcmVwb19uYW1lGAUgASgJEhsKE3JlcG9fZGVmYXVsdF9icmFuY2gYBiABKAkSGwoOcm9vdF9kaXJlY3RvcnkYByABKAlIAIgBARITCgt3YXRjaF9wYXRocxgIIAMoCRIWCglmcmFtZXdvcmsYCSABKAlIAYgBARIbCg5naXRodWJfcmVwb19pZBgKIAEoCUgCiAEBEh4KEWdpdGh1Yl9hY2NvdW50X2lkGAsgASgJSAOIAQESIAoTZ2l0aHViX2FjY291bnRfbmFtZRgMIAEoCUgEiAEBQhEKD19yb290X2RpcmVjdG9yeUIMCgpfZnJhbWV3b3JrQhEKD19naXRodWJfcmVwb19pZEIUChJfZ2l0aHViX2FjY291bnRfaWRCFgoUX2dpdGh1Yl9hY2NvdW50X25hbWUiMAoRVXBkYXRlQXBwUmVzcG9uc2USGwoDYXBwGAEgASgLMg4uZGVwbG95LnYxLkFwcCIeChBEZWxldGVBcHBSZXF1ZXN0EgoKAmlkGAEgASgJIiQKEURlbGV0ZUFwcFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiyAEKF0xpc3RFbnZpcm9ubWVudHNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKcAQoYTGlzdEVudmlyb25tZW50c1Jlc3BvbnNlEiUKBWl0ZW1zGAEgAygLMhYuZGVwbG95LnYxLkVudmlyb25tZW50Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIjChVHZXRFbnZpcm9ubWVudFJlcXVlc3QSCgoCaWQYASABKAkiRQoWR2V0RW52aXJvbm1lbnRSZXNwb25zZRIrCgtlbnZpcm9ubWVudBgBIAEoCzIWLmRlcGxveS52MS5FbnZpcm9ubWVudCLGAgoYQ3JlYXRlRW52aXJvbm1lbnRSZXF1ZXN0Eg4KBmFwcF9pZBgBIAEoCRIMCgRyb2xlGAIgASgJEgwKBG5hbWUYAyABKAkSFgoOY2Zfd29ya2VyX25hbWUYBCABKAkSGQoMd3JhbmdsZXJfZW52GAUgASgJSACIAQESGwoObWF0Y2hfYnJhbmNoZXMYBiABKAlIAYgBARIaCg1idWlsZF9jb21tYW5kGAcgASgJSAKIAQESGwoOZGVwbG95X2NvbW1hbmQYCCABKAlIA4gBARIaCg1idWlsZF9lbmFibGVkGAkgASgISASIAQFCDwoNX3dyYW5nbGVyX2VudkIRCg9fbWF0Y2hfYnJhbmNoZXNCEAoOX2J1aWxkX2NvbW1hbmRCEQoPX2RlcGxveV9jb21tYW5kQhAKDl9idWlsZF9lbmFibGVkIkgKGUNyZWF0ZUVudmlyb25tZW50UmVzcG9uc2USKwoLZW52aXJvbm1lbnQYASABKAsyFi5kZXBsb3kudjEuRW52aXJvbm1lbnQitAIKGFVwZGF0ZUVudmlyb25tZW50UmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDmNmX3dvcmtlcl9uYW1lGAMgASgJEhkKDHdyYW5nbGVyX2VudhgEIAEoCUgAiAEBEhsKDm1hdGNoX2JyYW5jaGVzGAUgASgJSAGIAQESGgoNYnVpbGRfY29tbWFuZBgGIAEoCUgCiAEBEhsKDmRlcGxveV9jb21tYW5kGAcgASgJSAOIAQESGgoNYnVpbGRfZW5hYmxlZBgIIAEoCEgEiAEBQg8KDV93cmFuZ2xlcl9lbnZCEQoPX21hdGNoX2JyYW5jaGVzQhAKDl9idWlsZF9jb21tYW5kQhEKD19kZXBsb3lfY29tbWFuZEIQCg5fYnVpbGRfZW5hYmxlZCJIChlVcGRhdGVFbnZpcm9ubWVudFJlc3BvbnNlEisKC2Vudmlyb25tZW50GAEgASgLMhYuZGVwbG95LnYxLkVudmlyb25tZW50IiYKGERlbGV0ZUVudmlyb25tZW50UmVxdWVzdBIKCgJpZBgBIAEoCSIsChlEZWxldGVFbnZpcm9ubWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiygEKGUxpc3RTZWNyZXRCaW5kaW5nc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqABChpMaXN0U2VjcmV0QmluZGluZ3NSZXNwb25zZRInCgVpdGVtcxgBIAMoCzIYLmRlcGxveS52MS5TZWNyZXRCaW5kaW5nEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIlChdHZXRTZWNyZXRCaW5kaW5nUmVxdWVzdBIKCgJpZBgBIAEoCSJMChhHZXRTZWNyZXRCaW5kaW5nUmVzcG9uc2USMAoOc2VjcmV0X2JpbmRpbmcYASABKAsyGC5kZXBsb3kudjEuU2VjcmV0QmluZGluZyKuAQoaQ3JlYXRlU2VjcmV0QmluZGluZ1JlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkSDAoEa2luZBgCIAEoCRIaChJ3b3JrZXJfc2VjcmV0X25hbWUYAyABKAkSFgoJdmF1bHRfcmVmGAQgASgJSACIAQESGAoLcGxhaW5fdmFsdWUYBSABKAlIAYgBAUIMCgpfdmF1bHRfcmVmQg4KDF9wbGFpbl92YWx1ZSJPChtDcmVhdGVTZWNyZXRCaW5kaW5nUmVzcG9uc2USMAoOc2VjcmV0X2JpbmRpbmcYASABKAsyGC5kZXBsb3kudjEuU2VjcmV0QmluZGluZyKiAQoaVXBkYXRlU2VjcmV0QmluZGluZ1JlcXVlc3QSCgoCaWQYASABKAkSDAoEa2luZBgCIAEoCRIaChJ3b3JrZXJfc2VjcmV0X25hbWUYAyABKAkSFgoJdmF1bHRfcmVmGAQgASgJSACIAQESGAoLcGxhaW5fdmFsdWUYBSABKAlIAYgBAUIMCgpfdmF1bHRfcmVmQg4KDF9wbGFpbl92YWx1ZSJPChtVcGRhdGVTZWNyZXRCaW5kaW5nUmVzcG9uc2USMAoOc2VjcmV0X2JpbmRpbmcYASABKAsyGC5kZXBsb3kudjEuU2VjcmV0QmluZGluZyIoChpEZWxldGVTZWNyZXRCaW5kaW5nUmVxdWVzdBIKCgJpZBgBIAEoCSIuChtEZWxldGVTZWNyZXRCaW5kaW5nUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLDAQoSTGlzdERvbWFpbnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKSAQoTTGlzdERvbWFpbnNSZXNwb25zZRIgCgVpdGVtcxgBIAMoCzIRLmRlcGxveS52MS5Eb21haW4SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIh4KEEdldERvbWFpblJlcXVlc3QSCgoCaWQYASABKAkiNgoRR2V0RG9tYWluUmVzcG9uc2USIQoGZG9tYWluGAEgASgLMhEuZGVwbG95LnYxLkRvbWFpbiKXAQoTQ3JlYXRlRG9tYWluUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIQCghob3N0bmFtZRgCIAEoCRIMCgRtb2RlGAMgASgJEhQKB3pvbmVfaWQYBCABKAlIAIgBARIXCgppc19wcmltYXJ5GAUgASgISAGIAQFCCgoIX3pvbmVfaWRCDQoLX2lzX3ByaW1hcnkiOQoUQ3JlYXRlRG9tYWluUmVzcG9uc2USIQoGZG9tYWluGAEgASgLMhEuZGVwbG95LnYxLkRvbWFpbiIhChNEZWxldGVEb21haW5SZXF1ZXN0EgoKAmlkGAEgASgJIicKFERlbGV0ZURvbWFpblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgixwEKFkxpc3REZXBsb3ltZW50c1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpoBChdMaXN0RGVwbG95bWVudHNSZXNwb25zZRIkCgVpdGVtcxgBIAMoCzIVLmRlcGxveS52MS5EZXBsb3ltZW50Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIiChRHZXREZXBsb3ltZW50UmVxdWVzdBIKCgJpZBgBIAEoCSJCChVHZXREZXBsb3ltZW50UmVzcG9uc2USKQoKZGVwbG95bWVudBgBIAEoCzIVLmRlcGxveS52MS5EZXBsb3ltZW50IikKF1RyaWdnZXJSZWNvbmNpbGVSZXF1ZXN0Eg4KBmFwcF9pZBgBIAEoCSI3ChhUcmlnZ2VyUmVjb25jaWxlUmVzcG9uc2USGwoDYXBwGAEgASgLMg4uZGVwbG95LnYxLkFwcCJWChRUcmlnZ2VyRGVwbG95UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIXCgpnaXRfYnJhbmNoGAIgASgJSACIAQFCDQoLX2dpdF9icmFuY2giQgoVVHJpZ2dlckRlcGxveVJlc3BvbnNlEikKCmRlcGxveW1lbnQYASABKAsyFS5kZXBsb3kudjEuRGVwbG95bWVudCIrChlHZXRSZWNvbmNpbGVTdGF0dXNSZXF1ZXN0Eg4KBmFwcF9pZBgBIAEoCSJ5ChpHZXRSZWNvbmNpbGVTdGF0dXNSZXNwb25zZRItCglyZWNvbmNpbGUYASABKAsyGi5kZXBsb3kudjEuUmVjb25jaWxlU3RhdHVzEiwKDGVudmlyb25tZW50cxgCIAMoCzIWLmRlcGxveS52MS5FbnZpcm9ubWVudDK7FAoNRGVwbG95U2VydmljZRJnChRMaXN0UHJvdmlkZXJBY2NvdW50cxImLmRlcGxveS52MS5MaXN0UHJvdmlkZXJBY2NvdW50c1JlcXVlc3QaJy5kZXBsb3kudjEuTGlzdFByb3ZpZGVyQWNjb3VudHNSZXNwb25zZRJhChJHZXRQcm92aWRlckFjY291bnQSJC5kZXBsb3kudjEuR2V0UHJvdmlkZXJBY2NvdW50UmVxdWVzdBolLmRlcGxveS52MS5HZXRQcm92aWRlckFjY291bnRSZXNwb25zZRJqChVDcmVhdGVQcm92aWRlckFjY291bnQSJy5kZXBsb3kudjEuQ3JlYXRlUHJvdmlkZXJBY2NvdW50UmVxdWVzdBooLmRlcGxveS52MS5DcmVhdGVQcm92aWRlckFjY291bnRSZXNwb25zZRJqChVVcGRhdGVQcm92aWRlckFjY291bnQSJy5kZXBsb3kudjEuVXBkYXRlUHJvdmlkZXJBY2NvdW50UmVxdWVzdBooLmRlcGxveS52MS5VcGRhdGVQcm92aWRlckFjY291bnRSZXNwb25zZRJqChVEZWxldGVQcm92aWRlckFjY291bnQSJy5kZXBsb3kudjEuRGVsZXRlUHJvdmlkZXJBY2NvdW50UmVxdWVzdBooLmRlcGxveS52MS5EZWxldGVQcm92aWRlckFjY291bnRSZXNwb25zZRJDCghMaXN0QXBwcxIaLmRlcGxveS52MS5MaXN0QXBwc1JlcXVlc3QaGy5kZXBsb3kudjEuTGlzdEFwcHNSZXNwb25zZRI9CgZHZXRBcHASGC5kZXBsb3kudjEuR2V0QXBwUmVxdWVzdBoZLmRlcGxveS52MS5HZXRBcHBSZXNwb25zZRJGCglDcmVhdGVBcHASGy5kZXBsb3kudjEuQ3JlYXRlQXBwUmVxdWVzdBocLmRlcGxveS52MS5DcmVhdGVBcHBSZXNwb25zZRJGCglVcGRhdGVBcHASGy5kZXBsb3kudjEuVXBkYXRlQXBwUmVxdWVzdBocLmRlcGxveS52MS5VcGRhdGVBcHBSZXNwb25zZRJGCglEZWxldGVBcHASGy5kZXBsb3kudjEuRGVsZXRlQXBwUmVxdWVzdBocLmRlcGxveS52MS5EZWxldGVBcHBSZXNwb25zZRJbChBMaXN0RW52aXJvbm1lbnRzEiIuZGVwbG95LnYxLkxpc3RFbnZpcm9ubWVudHNSZXF1ZXN0GiMuZGVwbG95LnYxLkxpc3RFbnZpcm9ubWVudHNSZXNwb25zZRJVCg5HZXRFbnZpcm9ubWVudBIgLmRlcGxveS52MS5HZXRFbnZpcm9ubWVudFJlcXVlc3QaIS5kZXBsb3kudjEuR2V0RW52aXJvbm1lbnRSZXNwb25zZRJeChFDcmVhdGVFbnZpcm9ubWVudBIjLmRlcGxveS52MS5DcmVhdGVFbnZpcm9ubWVudFJlcXVlc3QaJC5kZXBsb3kudjEuQ3JlYXRlRW52aXJvbm1lbnRSZXNwb25zZRJeChFVcGRhdGVFbnZpcm9ubWVudBIjLmRlcGxveS52MS5VcGRhdGVFbnZpcm9ubWVudFJlcXVlc3QaJC5kZXBsb3kudjEuVXBkYXRlRW52aXJvbm1lbnRSZXNwb25zZRJeChFEZWxldGVFbnZpcm9ubWVudBIjLmRlcGxveS52MS5EZWxldGVFbnZpcm9ubWVudFJlcXVlc3QaJC5kZXBsb3kudjEuRGVsZXRlRW52aXJvbm1lbnRSZXNwb25zZRJhChJMaXN0U2VjcmV0QmluZGluZ3MSJC5kZXBsb3kudjEuTGlzdFNlY3JldEJpbmRpbmdzUmVxdWVzdBolLmRlcGxveS52MS5MaXN0U2VjcmV0QmluZGluZ3NSZXNwb25zZRJbChBHZXRTZWNyZXRCaW5kaW5nEiIuZGVwbG95LnYxLkdldFNlY3JldEJpbmRpbmdSZXF1ZXN0GiMuZGVwbG95LnYxLkdldFNlY3JldEJpbmRpbmdSZXNwb25zZRJkChNDcmVhdGVTZWNyZXRCaW5kaW5nEiUuZGVwbG95LnYxLkNyZWF0ZVNlY3JldEJpbmRpbmdSZXF1ZXN0GiYuZGVwbG95LnYxLkNyZWF0ZVNlY3JldEJpbmRpbmdSZXNwb25zZRJkChNVcGRhdGVTZWNyZXRCaW5kaW5nEiUuZGVwbG95LnYxLlVwZGF0ZVNlY3JldEJpbmRpbmdSZXF1ZXN0GiYuZGVwbG95LnYxLlVwZGF0ZVNlY3JldEJpbmRpbmdSZXNwb25zZRJkChNEZWxldGVTZWNyZXRCaW5kaW5nEiUuZGVwbG95LnYxLkRlbGV0ZVNlY3JldEJpbmRpbmdSZXF1ZXN0GiYuZGVwbG95LnYxLkRlbGV0ZVNlY3JldEJpbmRpbmdSZXNwb25zZRJMCgtMaXN0RG9tYWlucxIdLmRlcGxveS52MS5MaXN0RG9tYWluc1JlcXVlc3QaHi5kZXBsb3kudjEuTGlzdERvbWFpbnNSZXNwb25zZRJGCglHZXREb21haW4SGy5kZXBsb3kudjEuR2V0RG9tYWluUmVxdWVzdBocLmRlcGxveS52MS5HZXREb21haW5SZXNwb25zZRJPCgxDcmVhdGVEb21haW4SHi5kZXBsb3kudjEuQ3JlYXRlRG9tYWluUmVxdWVzdBofLmRlcGxveS52MS5DcmVhdGVEb21haW5SZXNwb25zZRJPCgxEZWxldGVEb21haW4SHi5kZXBsb3kudjEuRGVsZXRlRG9tYWluUmVxdWVzdBofLmRlcGxveS52MS5EZWxldGVEb21haW5SZXNwb25zZRJYCg9MaXN0RGVwbG95bWVudHMSIS5kZXBsb3kudjEuTGlzdERlcGxveW1lbnRzUmVxdWVzdBoiLmRlcGxveS52MS5MaXN0RGVwbG95bWVudHNSZXNwb25zZRJSCg1HZXREZXBsb3ltZW50Eh8uZGVwbG95LnYxLkdldERlcGxveW1lbnRSZXF1ZXN0GiAuZGVwbG95LnYxLkdldERlcGxveW1lbnRSZXNwb25zZRJbChBUcmlnZ2VyUmVjb25jaWxlEiIuZGVwbG95LnYxLlRyaWdnZXJSZWNvbmNpbGVSZXF1ZXN0GiMuZGVwbG95LnYxLlRyaWdnZXJSZWNvbmNpbGVSZXNwb25zZRJSCg1UcmlnZ2VyRGVwbG95Eh8uZGVwbG95LnYxLlRyaWdnZXJEZXBsb3lSZXF1ZXN0GiAuZGVwbG95LnYxLlRyaWdnZXJEZXBsb3lSZXNwb25zZRJhChJHZXRSZWNvbmNpbGVTdGF0dXMSJC5kZXBsb3kudjEuR2V0UmVjb25jaWxlU3RhdHVzUmVxdWVzdBolLmRlcGxveS52MS5HZXRSZWNvbmNpbGVTdGF0dXNSZXNwb25zZUI5WjdnaXRodWIuY29tL2VpZGVzdHVkaW8vZm9pci9nZW4vcHJvdG8vZGVwbG95L3YxO2RlcGxveXYxYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_common_v1_pagination]);
13
+ fileDesc("ChZkZXBsb3kvdjEvZGVwbG95LnByb3RvEglkZXBsb3kudjEi4gEKD1JlY29uY2lsZVN0YXR1cxISCgpnZW5lcmF0aW9uGAEgASgDEhsKE29ic2VydmVkX2dlbmVyYXRpb24YAiABKAMSDgoGc3RhdHVzGAMgASgJEjsKEmxhc3RfcmVjb25jaWxlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIXCgpsYXN0X2Vycm9yGAUgASgJSAGIAQESEgoKZmluYWxpemVycxgGIAMoCUIVChNfbGFzdF9yZWNvbmNpbGVkX2F0Qg0KC19sYXN0X2Vycm9yIoYDCg9Qcm92aWRlckFjY291bnQSCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSEAoIcHJvdmlkZXIYBCABKAkSJwoaZ2l0aHViX2FwcF9pbnN0YWxsYXRpb25faWQYBiABKAlIAIgBARIfChJkaXNwYXRjaF9uYW1lc3BhY2UYCCABKAlIAYgBARIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCgpjcmVhdGVkX2J5GDQgASgJSAKIAQESFwoKdXBkYXRlZF9ieRg1IAEoCUgDiAEBQh0KG19naXRodWJfYXBwX2luc3RhbGxhdGlvbl9pZEIVChNfZGlzcGF0Y2hfbmFtZXNwYWNlQg0KC19jcmVhdGVkX2J5Qg0KC191cGRhdGVkX2J5IuMFCgNBcHASCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSGwoTcHJvdmlkZXJfYWNjb3VudF9pZBgEIAEoCRIMCgRuYW1lGAUgASgJEgwKBHNsdWcYBiABKAkSEgoKcmVwb19vd25lchgHIAEoCRIRCglyZXBvX25hbWUYCCABKAkSGwoTcmVwb19kZWZhdWx0X2JyYW5jaBgJIAEoCRIbCg5yb290X2RpcmVjdG9yeRgKIAEoCUgAiAEBEhMKC3dhdGNoX3BhdGhzGAsgAygJEhYKCWZyYW1ld29yaxgMIAEoCUgBiAEBEhsKDmdpdGh1Yl9yZXBvX2lkGA0gASgJSAKIAQESHgoRZ2l0aHViX2FjY291bnRfaWQYDiABKAlIA4gBARIgChNnaXRodWJfYWNjb3VudF9uYW1lGA8gASgJSASIAQESLQoJcmVjb25jaWxlGBAgASgLMhouZGVwbG95LnYxLlJlY29uY2lsZVN0YXR1cxIzCgpkZWxldGVkX2F0GBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEi4KCmNyZWF0ZWRfYXQYMiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYMyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKCmNyZWF0ZWRfYnkYNCABKAlIBogBARIXCgp1cGRhdGVkX2J5GDUgASgJSAeIAQFCEQoPX3Jvb3RfZGlyZWN0b3J5QgwKCl9mcmFtZXdvcmtCEQoPX2dpdGh1Yl9yZXBvX2lkQhQKEl9naXRodWJfYWNjb3VudF9pZEIWChRfZ2l0aHViX2FjY291bnRfbmFtZUINCgtfZGVsZXRlZF9hdEINCgtfY3JlYXRlZF9ieUINCgtfdXBkYXRlZF9ieSL3AwoLRW52aXJvbm1lbnQSCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSDgoGYXBwX2lkGAQgASgJEgwKBHJvbGUYBSABKAkSDAoEbmFtZRgGIAEoCRIWCg5jZl93b3JrZXJfbmFtZRgHIAEoCRIZCgx3cmFuZ2xlcl9lbnYYCCABKAlIAIgBARIbCg5tYXRjaF9icmFuY2hlcxgJIAEoCUgBiAEBEhoKDWJ1aWxkX2NvbW1hbmQYCiABKAlIAogBARIbCg5kZXBsb3lfY29tbWFuZBgLIAEoCUgDiAEBEhUKDWJ1aWxkX2VuYWJsZWQYDCABKAgSGAoQcmVjb25jaWxlX3N0YXR1cxgNIAEoCRIXCgpsYXN0X2Vycm9yGA4gASgJSASIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDwoNX3dyYW5nbGVyX2VudkIRCg9fbWF0Y2hfYnJhbmNoZXNCEAoOX2J1aWxkX2NvbW1hbmRCEQoPX2RlcGxveV9jb21tYW5kQg0KC19sYXN0X2Vycm9yIoADCg1TZWNyZXRCaW5kaW5nEgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhYKDmVudmlyb25tZW50X2lkGAQgASgJEgwKBGtpbmQYBSABKAkSGgoSd29ya2VyX3NlY3JldF9uYW1lGAYgASgJEhYKCXZhdWx0X3JlZhgHIAEoCUgAiAEBEhgKC3BsYWluX3ZhbHVlGAggASgJSAGIAQESNwoObGFzdF9zeW5jZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgzIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDAoKX3ZhdWx0X3JlZkIOCgxfcGxhaW5fdmFsdWVCEQoPX2xhc3Rfc3luY2VkX2F0ItwCCgZEb21haW4SCgoCaWQYASABKAkSEQoJdGVuYW50X2lkGAIgASgJEhIKCnByb2plY3RfaWQYAyABKAkSFgoOZW52aXJvbm1lbnRfaWQYBCABKAkSEAoIaG9zdG5hbWUYBSABKAkSDAoEbW9kZRgGIAEoCRIUCgd6b25lX2lkGAcgASgJSACIAQESIgoVY2ZfY3VzdG9tX2hvc3RuYW1lX2lkGAggASgJSAGIAQESEwoLY2VydF9zdGF0dXMYCSABKAkSEgoKaXNfcHJpbWFyeRgKIAEoCBIuCgpjcmVhdGVkX2F0GDIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GDMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIKCghfem9uZV9pZEIYChZfY2ZfY3VzdG9tX2hvc3RuYW1lX2lkIqIECgpEZXBsb3ltZW50EgoKAmlkGAEgASgJEhEKCXRlbmFudF9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhYKDmVudmlyb25tZW50X2lkGAQgASgJEhQKB2dpdF9zaGEYBSABKAlIAIgBARIXCgpnaXRfYnJhbmNoGAYgASgJSAGIAQESDwoHdHJpZ2dlchgHIAEoCRIYCgtjZl9idWlsZF9pZBgIIAEoCUgCiAEBEhoKDWNmX3ZlcnNpb25faWQYCSABKAlIA4gBARIOCgZzdGF0dXMYCiABKAkSGAoLcHJldmlld191cmwYCyABKAlIBIgBARIVCghsb2dzX3VybBgMIAEoCUgFiAEBEjMKCnN0YXJ0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESNAoLZmluaXNoZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESLgoKY3JlYXRlZF9hdBgyIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCgoIX2dpdF9zaGFCDQoLX2dpdF9icmFuY2hCDgoMX2NmX2J1aWxkX2lkQhAKDl9jZl92ZXJzaW9uX2lkQg4KDF9wcmV2aWV3X3VybEILCglfbG9nc191cmxCDQoLX3N0YXJ0ZWRfYXRCDgoMX2ZpbmlzaGVkX2F0IswBChtMaXN0UHJvdmlkZXJBY2NvdW50c1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqQBChxMaXN0UHJvdmlkZXJBY2NvdW50c1Jlc3BvbnNlEikKBWl0ZW1zGAEgAygLMhouZGVwbG95LnYxLlByb3ZpZGVyQWNjb3VudBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iJwoZR2V0UHJvdmlkZXJBY2NvdW50UmVxdWVzdBIKCgJpZBgBIAEoCSJSChpHZXRQcm92aWRlckFjY291bnRSZXNwb25zZRI0ChBwcm92aWRlcl9hY2NvdW50GAEgASgLMhouZGVwbG95LnYxLlByb3ZpZGVyQWNjb3VudCLCAQocQ3JlYXRlUHJvdmlkZXJBY2NvdW50UmVxdWVzdBIVCghwcm92aWRlchgBIAEoCUgAiAEBEicKGmdpdGh1Yl9hcHBfaW5zdGFsbGF0aW9uX2lkGAMgASgJSAGIAQESHwoSZGlzcGF0Y2hfbmFtZXNwYWNlGAUgASgJSAKIAQFCCwoJX3Byb3ZpZGVyQh0KG19naXRodWJfYXBwX2luc3RhbGxhdGlvbl9pZEIVChNfZGlzcGF0Y2hfbmFtZXNwYWNlIlUKHUNyZWF0ZVByb3ZpZGVyQWNjb3VudFJlc3BvbnNlEjQKEHByb3ZpZGVyX2FjY291bnQYASABKAsyGi5kZXBsb3kudjEuUHJvdmlkZXJBY2NvdW50IqoBChxVcGRhdGVQcm92aWRlckFjY291bnRSZXF1ZXN0EgoKAmlkGAEgASgJEicKGmdpdGh1Yl9hcHBfaW5zdGFsbGF0aW9uX2lkGAMgASgJSACIAQESHwoSZGlzcGF0Y2hfbmFtZXNwYWNlGAUgASgJSAGIAQFCHQobX2dpdGh1Yl9hcHBfaW5zdGFsbGF0aW9uX2lkQhUKE19kaXNwYXRjaF9uYW1lc3BhY2UiVQodVXBkYXRlUHJvdmlkZXJBY2NvdW50UmVzcG9uc2USNAoQcHJvdmlkZXJfYWNjb3VudBgBIAEoCzIaLmRlcGxveS52MS5Qcm92aWRlckFjY291bnQiKgocRGVsZXRlUHJvdmlkZXJBY2NvdW50UmVxdWVzdBIKCgJpZBgBIAEoCSIwCh1EZWxldGVQcm92aWRlckFjY291bnRSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIsABCg9MaXN0QXBwc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IowBChBMaXN0QXBwc1Jlc3BvbnNlEh0KBWl0ZW1zGAEgAygLMg4uZGVwbG95LnYxLkFwcBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iGwoNR2V0QXBwUmVxdWVzdBIKCgJpZBgBIAEoCSKyAQoOR2V0QXBwUmVzcG9uc2USGwoDYXBwGAEgASgLMg4uZGVwbG95LnYxLkFwcBIsCgxlbnZpcm9ubWVudHMYAiADKAsyFi5kZXBsb3kudjEuRW52aXJvbm1lbnQSIgoHZG9tYWlucxgDIAMoCzIRLmRlcGxveS52MS5Eb21haW4SMQoPc2VjcmV0X2JpbmRpbmdzGAQgAygLMhguZGVwbG95LnYxLlNlY3JldEJpbmRpbmcitwMKEENyZWF0ZUFwcFJlcXVlc3QSGwoTcHJvdmlkZXJfYWNjb3VudF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBHNsdWcYAyABKAkSEgoKcmVwb19vd25lchgEIAEoCRIRCglyZXBvX25hbWUYBSABKAkSIAoTcmVwb19kZWZhdWx0X2JyYW5jaBgGIAEoCUgAiAEBEhsKDnJvb3RfZGlyZWN0b3J5GAcgASgJSAGIAQESEwoLd2F0Y2hfcGF0aHMYCCADKAkSFgoJZnJhbWV3b3JrGAkgASgJSAKIAQESGwoOZ2l0aHViX3JlcG9faWQYCiABKAlIA4gBARIeChFnaXRodWJfYWNjb3VudF9pZBgLIAEoCUgEiAEBEiAKE2dpdGh1Yl9hY2NvdW50X25hbWUYDCABKAlIBYgBAUIWChRfcmVwb19kZWZhdWx0X2JyYW5jaEIRCg9fcm9vdF9kaXJlY3RvcnlCDAoKX2ZyYW1ld29ya0IRCg9fZ2l0aHViX3JlcG9faWRCFAoSX2dpdGh1Yl9hY2NvdW50X2lkQhYKFF9naXRodWJfYWNjb3VudF9uYW1lIjAKEUNyZWF0ZUFwcFJlc3BvbnNlEhsKA2FwcBgBIAEoCzIOLmRlcGxveS52MS5BcHAiiQMKEFVwZGF0ZUFwcFJlcXVlc3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRzbHVnGAMgASgJEhIKCnJlcG9fb3duZXIYBCABKAkSEQoJcmVwb19uYW1lGAUgASgJEhsKE3JlcG9fZGVmYXVsdF9icmFuY2gYBiABKAkSGwoOcm9vdF9kaXJlY3RvcnkYByABKAlIAIgBARITCgt3YXRjaF9wYXRocxgIIAMoCRIWCglmcmFtZXdvcmsYCSABKAlIAYgBARIbCg5naXRodWJfcmVwb19pZBgKIAEoCUgCiAEBEh4KEWdpdGh1Yl9hY2NvdW50X2lkGAsgASgJSAOIAQESIAoTZ2l0aHViX2FjY291bnRfbmFtZRgMIAEoCUgEiAEBQhEKD19yb290X2RpcmVjdG9yeUIMCgpfZnJhbWV3b3JrQhEKD19naXRodWJfcmVwb19pZEIUChJfZ2l0aHViX2FjY291bnRfaWRCFgoUX2dpdGh1Yl9hY2NvdW50X25hbWUiMAoRVXBkYXRlQXBwUmVzcG9uc2USGwoDYXBwGAEgASgLMg4uZGVwbG95LnYxLkFwcCIeChBEZWxldGVBcHBSZXF1ZXN0EgoKAmlkGAEgASgJIiQKEURlbGV0ZUFwcFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiyAEKF0xpc3RFbnZpcm9ubWVudHNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKcAQoYTGlzdEVudmlyb25tZW50c1Jlc3BvbnNlEiUKBWl0ZW1zGAEgAygLMhYuZGVwbG95LnYxLkVudmlyb25tZW50Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIjChVHZXRFbnZpcm9ubWVudFJlcXVlc3QSCgoCaWQYASABKAkiRQoWR2V0RW52aXJvbm1lbnRSZXNwb25zZRIrCgtlbnZpcm9ubWVudBgBIAEoCzIWLmRlcGxveS52MS5FbnZpcm9ubWVudCLGAgoYQ3JlYXRlRW52aXJvbm1lbnRSZXF1ZXN0Eg4KBmFwcF9pZBgBIAEoCRIMCgRyb2xlGAIgASgJEgwKBG5hbWUYAyABKAkSFgoOY2Zfd29ya2VyX25hbWUYBCABKAkSGQoMd3JhbmdsZXJfZW52GAUgASgJSACIAQESGwoObWF0Y2hfYnJhbmNoZXMYBiABKAlIAYgBARIaCg1idWlsZF9jb21tYW5kGAcgASgJSAKIAQESGwoOZGVwbG95X2NvbW1hbmQYCCABKAlIA4gBARIaCg1idWlsZF9lbmFibGVkGAkgASgISASIAQFCDwoNX3dyYW5nbGVyX2VudkIRCg9fbWF0Y2hfYnJhbmNoZXNCEAoOX2J1aWxkX2NvbW1hbmRCEQoPX2RlcGxveV9jb21tYW5kQhAKDl9idWlsZF9lbmFibGVkIkgKGUNyZWF0ZUVudmlyb25tZW50UmVzcG9uc2USKwoLZW52aXJvbm1lbnQYASABKAsyFi5kZXBsb3kudjEuRW52aXJvbm1lbnQitAIKGFVwZGF0ZUVudmlyb25tZW50UmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDmNmX3dvcmtlcl9uYW1lGAMgASgJEhkKDHdyYW5nbGVyX2VudhgEIAEoCUgAiAEBEhsKDm1hdGNoX2JyYW5jaGVzGAUgASgJSAGIAQESGgoNYnVpbGRfY29tbWFuZBgGIAEoCUgCiAEBEhsKDmRlcGxveV9jb21tYW5kGAcgASgJSAOIAQESGgoNYnVpbGRfZW5hYmxlZBgIIAEoCEgEiAEBQg8KDV93cmFuZ2xlcl9lbnZCEQoPX21hdGNoX2JyYW5jaGVzQhAKDl9idWlsZF9jb21tYW5kQhEKD19kZXBsb3lfY29tbWFuZEIQCg5fYnVpbGRfZW5hYmxlZCJIChlVcGRhdGVFbnZpcm9ubWVudFJlc3BvbnNlEisKC2Vudmlyb25tZW50GAEgASgLMhYuZGVwbG95LnYxLkVudmlyb25tZW50IiYKGERlbGV0ZUVudmlyb25tZW50UmVxdWVzdBIKCgJpZBgBIAEoCSIsChlEZWxldGVFbnZpcm9ubWVudFJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgiygEKGUxpc3RTZWNyZXRCaW5kaW5nc1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IqABChpMaXN0U2VjcmV0QmluZGluZ3NSZXNwb25zZRInCgVpdGVtcxgBIAMoCzIYLmRlcGxveS52MS5TZWNyZXRCaW5kaW5nEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIlChdHZXRTZWNyZXRCaW5kaW5nUmVxdWVzdBIKCgJpZBgBIAEoCSJMChhHZXRTZWNyZXRCaW5kaW5nUmVzcG9uc2USMAoOc2VjcmV0X2JpbmRpbmcYASABKAsyGC5kZXBsb3kudjEuU2VjcmV0QmluZGluZyKuAQoaQ3JlYXRlU2VjcmV0QmluZGluZ1JlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYASABKAkSDAoEa2luZBgCIAEoCRIaChJ3b3JrZXJfc2VjcmV0X25hbWUYAyABKAkSFgoJdmF1bHRfcmVmGAQgASgJSACIAQESGAoLcGxhaW5fdmFsdWUYBSABKAlIAYgBAUIMCgpfdmF1bHRfcmVmQg4KDF9wbGFpbl92YWx1ZSJPChtDcmVhdGVTZWNyZXRCaW5kaW5nUmVzcG9uc2USMAoOc2VjcmV0X2JpbmRpbmcYASABKAsyGC5kZXBsb3kudjEuU2VjcmV0QmluZGluZyKiAQoaVXBkYXRlU2VjcmV0QmluZGluZ1JlcXVlc3QSCgoCaWQYASABKAkSDAoEa2luZBgCIAEoCRIaChJ3b3JrZXJfc2VjcmV0X25hbWUYAyABKAkSFgoJdmF1bHRfcmVmGAQgASgJSACIAQESGAoLcGxhaW5fdmFsdWUYBSABKAlIAYgBAUIMCgpfdmF1bHRfcmVmQg4KDF9wbGFpbl92YWx1ZSJPChtVcGRhdGVTZWNyZXRCaW5kaW5nUmVzcG9uc2USMAoOc2VjcmV0X2JpbmRpbmcYASABKAsyGC5kZXBsb3kudjEuU2VjcmV0QmluZGluZyIoChpEZWxldGVTZWNyZXRCaW5kaW5nUmVxdWVzdBIKCgJpZBgBIAEoCSIuChtEZWxldGVTZWNyZXRCaW5kaW5nUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCLDAQoSTGlzdERvbWFpbnNSZXF1ZXN0EisKBXdoZXJlGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEhIKBWFmdGVyGAIgASgJSAGIAQESEwoGYmVmb3JlGAMgASgJSAKIAQESEgoFZmlyc3QYBCABKAVIA4gBARIRCgRsYXN0GAUgASgFSASIAQFCCAoGX3doZXJlQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKSAQoTTGlzdERvbWFpbnNSZXNwb25zZRIgCgVpdGVtcxgBIAMoCzIRLmRlcGxveS52MS5Eb21haW4SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIh4KEEdldERvbWFpblJlcXVlc3QSCgoCaWQYASABKAkiNgoRR2V0RG9tYWluUmVzcG9uc2USIQoGZG9tYWluGAEgASgLMhEuZGVwbG95LnYxLkRvbWFpbiKXAQoTQ3JlYXRlRG9tYWluUmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBgBIAEoCRIQCghob3N0bmFtZRgCIAEoCRIMCgRtb2RlGAMgASgJEhQKB3pvbmVfaWQYBCABKAlIAIgBARIXCgppc19wcmltYXJ5GAUgASgISAGIAQFCCgoIX3pvbmVfaWRCDQoLX2lzX3ByaW1hcnkiOQoUQ3JlYXRlRG9tYWluUmVzcG9uc2USIQoGZG9tYWluGAEgASgLMhEuZGVwbG95LnYxLkRvbWFpbiIhChNEZWxldGVEb21haW5SZXF1ZXN0EgoKAmlkGAEgASgJIicKFERlbGV0ZURvbWFpblJlc3BvbnNlEg8KB3N1Y2Nlc3MYASABKAgixwEKFkxpc3REZXBsb3ltZW50c1JlcXVlc3QSKwoFd2hlcmUYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESEgoFYWZ0ZXIYAiABKAlIAYgBARITCgZiZWZvcmUYAyABKAlIAogBARISCgVmaXJzdBgEIAEoBUgDiAEBEhEKBGxhc3QYBSABKAVIBIgBAUIICgZfd2hlcmVCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0IpoBChdMaXN0RGVwbG95bWVudHNSZXNwb25zZRIkCgVpdGVtcxgBIAMoCzIVLmRlcGxveS52MS5EZXBsb3ltZW50Eg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyIiChRHZXREZXBsb3ltZW50UmVxdWVzdBIKCgJpZBgBIAEoCSJCChVHZXREZXBsb3ltZW50UmVzcG9uc2USKQoKZGVwbG95bWVudBgBIAEoCzIVLmRlcGxveS52MS5EZXBsb3ltZW50IosBCgRSZXBvEhYKDmdpdGh1Yl9yZXBvX2lkGAEgASgJEg0KBW93bmVyGAIgASgJEgwKBG5hbWUYAyABKAkSFgoOZGVmYXVsdF9icmFuY2gYBCABKAkSGQoRZ2l0aHViX2FjY291bnRfaWQYBSABKAkSGwoTZ2l0aHViX2FjY291bnRfbmFtZRgGIAEoCSJNChBMaXN0UmVwb3NSZXF1ZXN0EhsKE3Byb3ZpZGVyX2FjY291bnRfaWQYASABKAkSEgoFYWZ0ZXIYAiABKAlIAIgBAUIICgZfYWZ0ZXIiTwoRTGlzdFJlcG9zUmVzcG9uc2USHgoFaXRlbXMYASADKAsyDy5kZXBsb3kudjEuUmVwbxIRCgRuZXh0GAIgASgJSACIAQFCBwoFX25leHQiTwoTTGlzdEJyYW5jaGVzUmVxdWVzdBIbChNwcm92aWRlcl9hY2NvdW50X2lkGAEgASgJEg0KBW93bmVyGAIgASgJEgwKBHJlcG8YAyABKAkiQAoUTGlzdEJyYW5jaGVzUmVzcG9uc2USEAoIYnJhbmNoZXMYASADKAkSFgoOZGVmYXVsdF9icmFuY2gYAiABKAkiKQoXVHJpZ2dlclJlY29uY2lsZVJlcXVlc3QSDgoGYXBwX2lkGAEgASgJIjcKGFRyaWdnZXJSZWNvbmNpbGVSZXNwb25zZRIbCgNhcHAYASABKAsyDi5kZXBsb3kudjEuQXBwIlYKFFRyaWdnZXJEZXBsb3lSZXF1ZXN0EhYKDmVudmlyb25tZW50X2lkGAEgASgJEhcKCmdpdF9icmFuY2gYAiABKAlIAIgBAUINCgtfZ2l0X2JyYW5jaCJCChVUcmlnZ2VyRGVwbG95UmVzcG9uc2USKQoKZGVwbG95bWVudBgBIAEoCzIVLmRlcGxveS52MS5EZXBsb3ltZW50IisKGUdldFJlY29uY2lsZVN0YXR1c1JlcXVlc3QSDgoGYXBwX2lkGAEgASgJInkKGkdldFJlY29uY2lsZVN0YXR1c1Jlc3BvbnNlEi0KCXJlY29uY2lsZRgBIAEoCzIaLmRlcGxveS52MS5SZWNvbmNpbGVTdGF0dXMSLAoMZW52aXJvbm1lbnRzGAIgAygLMhYuZGVwbG95LnYxLkVudmlyb25tZW50MtQVCg1EZXBsb3lTZXJ2aWNlEmcKFExpc3RQcm92aWRlckFjY291bnRzEiYuZGVwbG95LnYxLkxpc3RQcm92aWRlckFjY291bnRzUmVxdWVzdBonLmRlcGxveS52MS5MaXN0UHJvdmlkZXJBY2NvdW50c1Jlc3BvbnNlEmEKEkdldFByb3ZpZGVyQWNjb3VudBIkLmRlcGxveS52MS5HZXRQcm92aWRlckFjY291bnRSZXF1ZXN0GiUuZGVwbG95LnYxLkdldFByb3ZpZGVyQWNjb3VudFJlc3BvbnNlEmoKFUNyZWF0ZVByb3ZpZGVyQWNjb3VudBInLmRlcGxveS52MS5DcmVhdGVQcm92aWRlckFjY291bnRSZXF1ZXN0GiguZGVwbG95LnYxLkNyZWF0ZVByb3ZpZGVyQWNjb3VudFJlc3BvbnNlEmoKFVVwZGF0ZVByb3ZpZGVyQWNjb3VudBInLmRlcGxveS52MS5VcGRhdGVQcm92aWRlckFjY291bnRSZXF1ZXN0GiguZGVwbG95LnYxLlVwZGF0ZVByb3ZpZGVyQWNjb3VudFJlc3BvbnNlEmoKFURlbGV0ZVByb3ZpZGVyQWNjb3VudBInLmRlcGxveS52MS5EZWxldGVQcm92aWRlckFjY291bnRSZXF1ZXN0GiguZGVwbG95LnYxLkRlbGV0ZVByb3ZpZGVyQWNjb3VudFJlc3BvbnNlEkMKCExpc3RBcHBzEhouZGVwbG95LnYxLkxpc3RBcHBzUmVxdWVzdBobLmRlcGxveS52MS5MaXN0QXBwc1Jlc3BvbnNlEj0KBkdldEFwcBIYLmRlcGxveS52MS5HZXRBcHBSZXF1ZXN0GhkuZGVwbG95LnYxLkdldEFwcFJlc3BvbnNlEkYKCUNyZWF0ZUFwcBIbLmRlcGxveS52MS5DcmVhdGVBcHBSZXF1ZXN0GhwuZGVwbG95LnYxLkNyZWF0ZUFwcFJlc3BvbnNlEkYKCVVwZGF0ZUFwcBIbLmRlcGxveS52MS5VcGRhdGVBcHBSZXF1ZXN0GhwuZGVwbG95LnYxLlVwZGF0ZUFwcFJlc3BvbnNlEkYKCURlbGV0ZUFwcBIbLmRlcGxveS52MS5EZWxldGVBcHBSZXF1ZXN0GhwuZGVwbG95LnYxLkRlbGV0ZUFwcFJlc3BvbnNlElsKEExpc3RFbnZpcm9ubWVudHMSIi5kZXBsb3kudjEuTGlzdEVudmlyb25tZW50c1JlcXVlc3QaIy5kZXBsb3kudjEuTGlzdEVudmlyb25tZW50c1Jlc3BvbnNlElUKDkdldEVudmlyb25tZW50EiAuZGVwbG95LnYxLkdldEVudmlyb25tZW50UmVxdWVzdBohLmRlcGxveS52MS5HZXRFbnZpcm9ubWVudFJlc3BvbnNlEl4KEUNyZWF0ZUVudmlyb25tZW50EiMuZGVwbG95LnYxLkNyZWF0ZUVudmlyb25tZW50UmVxdWVzdBokLmRlcGxveS52MS5DcmVhdGVFbnZpcm9ubWVudFJlc3BvbnNlEl4KEVVwZGF0ZUVudmlyb25tZW50EiMuZGVwbG95LnYxLlVwZGF0ZUVudmlyb25tZW50UmVxdWVzdBokLmRlcGxveS52MS5VcGRhdGVFbnZpcm9ubWVudFJlc3BvbnNlEl4KEURlbGV0ZUVudmlyb25tZW50EiMuZGVwbG95LnYxLkRlbGV0ZUVudmlyb25tZW50UmVxdWVzdBokLmRlcGxveS52MS5EZWxldGVFbnZpcm9ubWVudFJlc3BvbnNlEmEKEkxpc3RTZWNyZXRCaW5kaW5ncxIkLmRlcGxveS52MS5MaXN0U2VjcmV0QmluZGluZ3NSZXF1ZXN0GiUuZGVwbG95LnYxLkxpc3RTZWNyZXRCaW5kaW5nc1Jlc3BvbnNlElsKEEdldFNlY3JldEJpbmRpbmcSIi5kZXBsb3kudjEuR2V0U2VjcmV0QmluZGluZ1JlcXVlc3QaIy5kZXBsb3kudjEuR2V0U2VjcmV0QmluZGluZ1Jlc3BvbnNlEmQKE0NyZWF0ZVNlY3JldEJpbmRpbmcSJS5kZXBsb3kudjEuQ3JlYXRlU2VjcmV0QmluZGluZ1JlcXVlc3QaJi5kZXBsb3kudjEuQ3JlYXRlU2VjcmV0QmluZGluZ1Jlc3BvbnNlEmQKE1VwZGF0ZVNlY3JldEJpbmRpbmcSJS5kZXBsb3kudjEuVXBkYXRlU2VjcmV0QmluZGluZ1JlcXVlc3QaJi5kZXBsb3kudjEuVXBkYXRlU2VjcmV0QmluZGluZ1Jlc3BvbnNlEmQKE0RlbGV0ZVNlY3JldEJpbmRpbmcSJS5kZXBsb3kudjEuRGVsZXRlU2VjcmV0QmluZGluZ1JlcXVlc3QaJi5kZXBsb3kudjEuRGVsZXRlU2VjcmV0QmluZGluZ1Jlc3BvbnNlEkwKC0xpc3REb21haW5zEh0uZGVwbG95LnYxLkxpc3REb21haW5zUmVxdWVzdBoeLmRlcGxveS52MS5MaXN0RG9tYWluc1Jlc3BvbnNlEkYKCUdldERvbWFpbhIbLmRlcGxveS52MS5HZXREb21haW5SZXF1ZXN0GhwuZGVwbG95LnYxLkdldERvbWFpblJlc3BvbnNlEk8KDENyZWF0ZURvbWFpbhIeLmRlcGxveS52MS5DcmVhdGVEb21haW5SZXF1ZXN0Gh8uZGVwbG95LnYxLkNyZWF0ZURvbWFpblJlc3BvbnNlEk8KDERlbGV0ZURvbWFpbhIeLmRlcGxveS52MS5EZWxldGVEb21haW5SZXF1ZXN0Gh8uZGVwbG95LnYxLkRlbGV0ZURvbWFpblJlc3BvbnNlElgKD0xpc3REZXBsb3ltZW50cxIhLmRlcGxveS52MS5MaXN0RGVwbG95bWVudHNSZXF1ZXN0GiIuZGVwbG95LnYxLkxpc3REZXBsb3ltZW50c1Jlc3BvbnNlElIKDUdldERlcGxveW1lbnQSHy5kZXBsb3kudjEuR2V0RGVwbG95bWVudFJlcXVlc3QaIC5kZXBsb3kudjEuR2V0RGVwbG95bWVudFJlc3BvbnNlEkYKCUxpc3RSZXBvcxIbLmRlcGxveS52MS5MaXN0UmVwb3NSZXF1ZXN0GhwuZGVwbG95LnYxLkxpc3RSZXBvc1Jlc3BvbnNlEk8KDExpc3RCcmFuY2hlcxIeLmRlcGxveS52MS5MaXN0QnJhbmNoZXNSZXF1ZXN0Gh8uZGVwbG95LnYxLkxpc3RCcmFuY2hlc1Jlc3BvbnNlElsKEFRyaWdnZXJSZWNvbmNpbGUSIi5kZXBsb3kudjEuVHJpZ2dlclJlY29uY2lsZVJlcXVlc3QaIy5kZXBsb3kudjEuVHJpZ2dlclJlY29uY2lsZVJlc3BvbnNlElIKDVRyaWdnZXJEZXBsb3kSHy5kZXBsb3kudjEuVHJpZ2dlckRlcGxveVJlcXVlc3QaIC5kZXBsb3kudjEuVHJpZ2dlckRlcGxveVJlc3BvbnNlEmEKEkdldFJlY29uY2lsZVN0YXR1cxIkLmRlcGxveS52MS5HZXRSZWNvbmNpbGVTdGF0dXNSZXF1ZXN0GiUuZGVwbG95LnYxLkdldFJlY29uY2lsZVN0YXR1c1Jlc3BvbnNlQjlaN2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9kZXBsb3kvdjE7ZGVwbG95djFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_common_v1_pagination]);
14
14
 
15
15
  /**
16
16
  * Describes the message deploy.v1.ReconcileStatus.
@@ -425,47 +425,82 @@ export const GetDeploymentRequestSchema = /*@__PURE__*/
425
425
  export const GetDeploymentResponseSchema = /*@__PURE__*/
426
426
  messageDesc(file_deploy_v1_deploy, 58);
427
427
 
428
+ /**
429
+ * Describes the message deploy.v1.Repo.
430
+ * Use `create(RepoSchema)` to create a new message.
431
+ */
432
+ export const RepoSchema = /*@__PURE__*/
433
+ messageDesc(file_deploy_v1_deploy, 59);
434
+
435
+ /**
436
+ * Describes the message deploy.v1.ListReposRequest.
437
+ * Use `create(ListReposRequestSchema)` to create a new message.
438
+ */
439
+ export const ListReposRequestSchema = /*@__PURE__*/
440
+ messageDesc(file_deploy_v1_deploy, 60);
441
+
442
+ /**
443
+ * Describes the message deploy.v1.ListReposResponse.
444
+ * Use `create(ListReposResponseSchema)` to create a new message.
445
+ */
446
+ export const ListReposResponseSchema = /*@__PURE__*/
447
+ messageDesc(file_deploy_v1_deploy, 61);
448
+
449
+ /**
450
+ * Describes the message deploy.v1.ListBranchesRequest.
451
+ * Use `create(ListBranchesRequestSchema)` to create a new message.
452
+ */
453
+ export const ListBranchesRequestSchema = /*@__PURE__*/
454
+ messageDesc(file_deploy_v1_deploy, 62);
455
+
456
+ /**
457
+ * Describes the message deploy.v1.ListBranchesResponse.
458
+ * Use `create(ListBranchesResponseSchema)` to create a new message.
459
+ */
460
+ export const ListBranchesResponseSchema = /*@__PURE__*/
461
+ messageDesc(file_deploy_v1_deploy, 63);
462
+
428
463
  /**
429
464
  * Describes the message deploy.v1.TriggerReconcileRequest.
430
465
  * Use `create(TriggerReconcileRequestSchema)` to create a new message.
431
466
  */
432
467
  export const TriggerReconcileRequestSchema = /*@__PURE__*/
433
- messageDesc(file_deploy_v1_deploy, 59);
468
+ messageDesc(file_deploy_v1_deploy, 64);
434
469
 
435
470
  /**
436
471
  * Describes the message deploy.v1.TriggerReconcileResponse.
437
472
  * Use `create(TriggerReconcileResponseSchema)` to create a new message.
438
473
  */
439
474
  export const TriggerReconcileResponseSchema = /*@__PURE__*/
440
- messageDesc(file_deploy_v1_deploy, 60);
475
+ messageDesc(file_deploy_v1_deploy, 65);
441
476
 
442
477
  /**
443
478
  * Describes the message deploy.v1.TriggerDeployRequest.
444
479
  * Use `create(TriggerDeployRequestSchema)` to create a new message.
445
480
  */
446
481
  export const TriggerDeployRequestSchema = /*@__PURE__*/
447
- messageDesc(file_deploy_v1_deploy, 61);
482
+ messageDesc(file_deploy_v1_deploy, 66);
448
483
 
449
484
  /**
450
485
  * Describes the message deploy.v1.TriggerDeployResponse.
451
486
  * Use `create(TriggerDeployResponseSchema)` to create a new message.
452
487
  */
453
488
  export const TriggerDeployResponseSchema = /*@__PURE__*/
454
- messageDesc(file_deploy_v1_deploy, 62);
489
+ messageDesc(file_deploy_v1_deploy, 67);
455
490
 
456
491
  /**
457
492
  * Describes the message deploy.v1.GetReconcileStatusRequest.
458
493
  * Use `create(GetReconcileStatusRequestSchema)` to create a new message.
459
494
  */
460
495
  export const GetReconcileStatusRequestSchema = /*@__PURE__*/
461
- messageDesc(file_deploy_v1_deploy, 63);
496
+ messageDesc(file_deploy_v1_deploy, 68);
462
497
 
463
498
  /**
464
499
  * Describes the message deploy.v1.GetReconcileStatusResponse.
465
500
  * Use `create(GetReconcileStatusResponseSchema)` to create a new message.
466
501
  */
467
502
  export const GetReconcileStatusResponseSchema = /*@__PURE__*/
468
- messageDesc(file_deploy_v1_deploy, 64);
503
+ messageDesc(file_deploy_v1_deploy, 69);
469
504
 
470
505
  /**
471
506
  * @generated from service deploy.v1.DeployService
@@ -718,16 +718,6 @@ export declare const GetModelByKeyResponseSchema: GenMessage<GetModelByKeyRespon
718
718
  * @generated from message models.v1.ListModelsRequest
719
719
  */
720
720
  export declare type ListModelsRequest = Message<"models.v1.ListModelsRequest"> & {
721
- /**
722
- * @generated from field: optional string search = 1;
723
- */
724
- search?: string | undefined;
725
-
726
- /**
727
- * @generated from field: optional string category = 2;
728
- */
729
- category?: string | undefined;
730
-
731
721
  /**
732
722
  * @generated from field: optional string after = 6;
733
723
  */
@@ -749,9 +739,17 @@ export declare type ListModelsRequest = Message<"models.v1.ListModelsRequest"> &
749
739
  last?: number | undefined;
750
740
 
751
741
  /**
752
- * @generated from field: optional string config_id = 5;
742
+ * Typed WhereInput tree fed through services/internal/whereinput. Supported
743
+ * keys mirror models columns: id, key, name, category (config.category),
744
+ * config_id, inline (config.inline), createdAt, updatedAt, plus AND/OR/NOT.
745
+ * Replaces the former ad-hoc search/category/config_id params — a free-text
746
+ * search is OR:[{name:{contains}},{key:{contains}}]; an inline/standalone
747
+ * filter is {inline:{eq:false}}. tenant/project scoping stays server-enforced
748
+ * via RLS, so where can't widen scope.
749
+ *
750
+ * @generated from field: optional google.protobuf.Struct where = 10;
753
751
  */
754
- configId?: string | undefined;
752
+ where?: JsonObject | undefined;
755
753
  };
756
754
 
757
755
  /**
@@ -12,7 +12,7 @@ import { file_common_v1_access } from "../../common/v1/access_pb.js";
12
12
  * Describes the file models/v1/models.proto.
13
13
  */
14
14
  export const file_models_v1_models = /*@__PURE__*/
15
- fileDesc("ChZtb2RlbHMvdjEvbW9kZWxzLnByb3RvEgltb2RlbHMudjEihwUKBUZpZWxkEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgR0eXBlGAQgASgJEhAKCHJlcXVpcmVkGAUgASgIEhYKCWhlbHBfdGV4dBgGIAEoCUgAiAEBEhgKC3BsYWNlaG9sZGVyGAcgASgJSAGIAQESMgoNZGVmYXVsdF92YWx1ZRgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgCiAEBEicKBmNvbmZpZxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoJaXRlbV90eXBlGAogASgJSAOIAQESFAoHc3RvcmFnZRgLIAEoCUgEiAEBEhoKDXRlbXBsYXRlX3pvbmUYDCABKAlIBYgBARIXCgp6b25lX29yZGVyGA0gASgFSAaIAQESNgoQcmVmZXJlbmNlX2ZpbHRlchgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIvCgp2YWxpZGF0aW9uGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAiIAQESFgoJcXVlcnlhYmxlGBAgASgISAmIAQESJgoGYWNjZXNzGBEgASgLMhYuY29tbW9uLnYxLkZpZWxkQWNjZXNzQgwKCl9oZWxwX3RleHRCDgoMX3BsYWNlaG9sZGVyQhAKDl9kZWZhdWx0X3ZhbHVlQgwKCl9pdGVtX3R5cGVCCgoIX3N0b3JhZ2VCEAoOX3RlbXBsYXRlX3pvbmVCDQoLX3pvbmVfb3JkZXJCEwoRX3JlZmVyZW5jZV9maWx0ZXJCDQoLX3ZhbGlkYXRpb25CDAoKX3F1ZXJ5YWJsZSI8Cg1TaGFyaW5nQ29uZmlnEg8KB2VuYWJsZWQYASABKAgSGgoScmVxdWlyZV9hY2NlcHRhbmNlGAIgASgIIvQFCgtNb2RlbENvbmZpZxISCgp2ZXJzaW9uaW5nGAEgASgIEhIKCnB1Ymxpc2hpbmcYAiABKAgSEAoIdmFyaWFudHMYAyABKAgSDgoGaW5saW5lGAQgASgIEhcKD2N1c3RvbWVyX3Njb3BlZBgFIAEoCBIuCgdzaGFyaW5nGAYgASgLMhgubW9kZWxzLnYxLlNoYXJpbmdDb25maWdIAIgBARIYCgtwbHVyYWxfbmFtZRgHIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAggASgJSAKIAQESFQoIY2F0ZWdvcnkYCSABKAlIA4gBARIRCgRpY29uGAogASgJSASIAQESGgoNZGlzcGxheV9maWVsZBgLIAEoCUgFiAEBEhUKDXN5c3RlbV9lbnRpdHkYDSABKAgSFgoJZGVsZXRhYmxlGA4gASgISAaIAQESFQoIZWRpdGFibGUYDyABKAhIB4gBARI1Cg9tZXRhZGF0YV9zY2hlbWEYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAiIAQESKwoFaG9va3MYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESFwoKcGx1cmFsX2tleRgSIAEoCUgKiAEBEiwKB2xvb2t1cHMYEyADKAsyGy5tb2RlbHMudjEuTG9va3VwRGVmaW5pdGlvbhI5Cg1jYWNoZV9jb250cm9sGBQgASgLMh0ubW9kZWxzLnYxLkNhY2hlQ29udHJvbENvbmZpZ0gLiAEBQgoKCF9zaGFyaW5nQg4KDF9wbHVyYWxfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2NhdGVnb3J5QgcKBV9pY29uQhAKDl9kaXNwbGF5X2ZpZWxkQgwKCl9kZWxldGFibGVCCwoJX2VkaXRhYmxlQhIKEF9tZXRhZGF0YV9zY2hlbWFCCAoGX2hvb2tzQg0KC19wbHVyYWxfa2V5QhAKDl9jYWNoZV9jb250cm9sIlIKEkNhY2hlQ29udHJvbENvbmZpZxIPCgdtYXhfYWdlGAEgASgFEisKBXNjb3BlGAIgASgOMhwubW9kZWxzLnYxLkNhY2hlQ29udHJvbFNjb3BlIj4KEExvb2t1cERlZmluaXRpb24SDgoGa2V5X2J5GAEgAygJEhEKBG5hbWUYAiABKAlIAIgBAUIHCgVfbmFtZSKJAQoRTW9kZWxDYXBhYmlsaXRpZXMSFAoMaXNfdmVyc2lvbmVkGAEgASgIEhYKDmlzX3B1Ymxpc2hhYmxlGAIgASgIEhQKDGhhc192YXJpYW50cxgDIAEoCBIXCg9jdXN0b21lcl9zY29wZWQYBCABKAgSFwoPc2hhcmluZ19lbmFibGVkGAUgASgIIo8HCgVNb2RlbBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSJgoGY29uZmlnGAUgASgLMhYubW9kZWxzLnYxLk1vZGVsQ29uZmlnEhYKCWNvbmZpZ19pZBgGIAEoCUgAiAEBEjIKDGNhcGFiaWxpdGllcxgHIAEoCzIcLm1vZGVscy52MS5Nb2RlbENhcGFiaWxpdGllcxIfChJjdXJyZW50X3ZlcnNpb25faWQYCCABKAlIAYgBARIlChhwdWJsaXNoZWRfdmVyc2lvbl9udW1iZXIYCSABKAVIAogBARIRCgl0ZW5hbnRfaWQYCiABKAkSEgoKcHJvamVjdF9pZBgLIAEoCRIXCgpjcmVhdGVkX2J5GBQgASgJSAOIAQESFwoKdXBkYXRlZF9ieRgVIAEoCUgEiAEBEi4KCmNyZWF0ZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKEmxhc3RfcHVzaGVkX2ZpZWxkcxgoIAMoCzIQLm1vZGVscy52MS5GaWVsZBI3Cg5sYXN0X3B1c2hlZF9hdBgpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIhChRwdWJsaXNoZWRfdmVyc2lvbl9pZBgqIAEoCUgGiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GCsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYLCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQFCDAoKX2NvbmZpZ19pZEIVChNfY3VycmVudF92ZXJzaW9uX2lkQhsKGV9wdWJsaXNoZWRfdmVyc2lvbl9udW1iZXJCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnlCEQoPX2xhc3RfcHVzaGVkX2F0QhcKFV9wdWJsaXNoZWRfdmVyc2lvbl9pZEIXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXQiwgIKDE1vZGVsVmVyc2lvbhIKCgJpZBgBIAEoCRIQCghtb2RlbF9pZBgCIAEoCRIWCg52ZXJzaW9uX251bWJlchgDIAEoBRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSFAoMY29udGVudF9oYXNoGAUgASgJEh4KEXNvdXJjZV92ZXJzaW9uX2lkGAYgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgJIAEoCUgCiAEBQhQKEl9zb3VyY2VfdmVyc2lvbl9pZEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQg0KC19jcmVhdGVkX2J5Is0BChJDcmVhdGVNb2RlbFJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gAiAEBEhYKCWNvbmZpZ19pZBgFIAEoCUgBiAEBEhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAYgASgIQgkKB19jb25maWdCDAoKX2NvbmZpZ19pZCI2ChNDcmVhdGVNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIh0KD0dldE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSIzChBHZXRNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIiMKFEdldE1vZGVsQnlLZXlSZXF1ZXN0EgsKA2tleRgBIAEoCSI4ChVHZXRNb2RlbEJ5S2V5UmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwi9QEKEUxpc3RNb2RlbHNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEhUKCGNhdGVnb3J5GAIgASgJSAGIAQESEgoFYWZ0ZXIYBiABKAlIAogBARITCgZiZWZvcmUYByABKAlIA4gBARISCgVmaXJzdBgIIAEoBUgEiAEBEhEKBGxhc3QYCSABKAVIBYgBARIWCgljb25maWdfaWQYBSABKAlIBogBAUIJCgdfc2VhcmNoQgsKCV9jYXRlZ29yeUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIICgZfZmlyc3RCBwoFX2xhc3RCDAoKX2NvbmZpZ19pZCKRAQoSTGlzdE1vZGVsc1Jlc3BvbnNlEiAKBm1vZGVscxgBIAMoCzIQLm1vZGVscy52MS5Nb2RlbBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iuAIKElVwZGF0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gBiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgFIAEoCUgCiAEBEhUKDXVwZGF0ZV9maWVsZHMYBiABKAgSHAoUdXBkYXRlX3B1c2hfc25hcHNob3QYByABKAgSFQoNc25hcHNob3Rfb25seRgIIAEoCBIcChRhbGxvd19sb29rdXBfcmVidWlsZBgJIAEoCEIHCgVfbmFtZUIJCgdfY29uZmlnQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iNgoTVXBkYXRlTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIgChJEZWxldGVNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiJgoTRGVsZXRlTW9kZWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkYKFUR1cGxpY2F0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgduZXdfa2V5GAIgASgJEhAKCG5ld19uYW1lGAMgASgJIjkKFkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwipAEKGExpc3RNb2RlbFZlcnNpb25zUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKhAQoZTGlzdE1vZGVsVmVyc2lvbnNSZXNwb25zZRIpCgh2ZXJzaW9ucxgBIAMoCzIXLm1vZGVscy52MS5Nb2RlbFZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIj4KFkdldE1vZGVsVmVyc2lvblJlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEgoKdmVyc2lvbl9pZBgCIAEoCSJDChdHZXRNb2RlbFZlcnNpb25SZXNwb25zZRIoCgd2ZXJzaW9uGAEgASgLMhcubW9kZWxzLnYxLk1vZGVsVmVyc2lvbiJCChpSZXN0b3JlTW9kZWxWZXJzaW9uUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRISCgp2ZXJzaW9uX2lkGAIgASgJIj4KG1Jlc3RvcmVNb2RlbFZlcnNpb25SZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCJjChREZXByZWNhdGVkRmllbGRUb3VjaBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIRCgltb2RlbF9rZXkYAyABKAkSEQoJZmllbGRfa2V5GAQgASgJIlYKIk1hcmtEZXByZWNhdGVkRmllbGRzUXVlcmllZFJlcXVlc3QSMAoHdG91Y2hlcxgBIAMoCzIfLm1vZGVscy52MS5EZXByZWNhdGVkRmllbGRUb3VjaCI2CiNNYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWRSZXNwb25zZRIPCgd1cGRhdGVkGAEgASgFIvcBChhEZXByZWNhdGVkRmllbGRDYW5kaWRhdGUSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIbW9kZWxfaWQYAyABKAkSEQoJbW9kZWxfa2V5GAQgASgJEhEKCWZpZWxkX2tleRgFIAEoCRIuCgpkZWxldGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4Cg9sYXN0X3F1ZXJpZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCEgoQX2xhc3RfcXVlcmllZF9hdCK8AQokTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXNSZXF1ZXN0EhwKFGdyYWNlX3BlcmlvZF9zZWNvbmRzGAEgASgDEhIKBWZpcnN0GAIgASgFSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARIRCgRsYXN0GAQgASgFSAKIAQESEwoGYmVmb3JlGAUgASgJSAOIAQFCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlIrsBCiVMaXN0RGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlc1Jlc3BvbnNlEjcKCmNhbmRpZGF0ZXMYASADKAsyIy5tb2RlbHMudjEuRGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJBChpEcm9wRGVwcmVjYXRlZEZpZWxkUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRIRCglmaWVsZF9rZXkYAiABKAkiLgobRHJvcERlcHJlY2F0ZWRGaWVsZFJlc3BvbnNlEg8KB2Ryb3BwZWQYASABKAgiIQoTUHVibGlzaE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSJtChRQdWJsaXNoTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbBI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIjChVVbnB1Ymxpc2hNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiOQoWVW5wdWJsaXNoTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIqChxHZXRNb2RlbFB1Ymxpc2hTdGF0dXNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKHUdldE1vZGVsUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyKhAQobU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0Ij8KHFNjaGVkdWxlTW9kZWxQdWJsaXNoUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiMAoiQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJGCiNDYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2hSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCr5AgoJRmllbGRUeXBlEhoKFkZJRUxEX1RZUEVfVU5TUEVDSUZJRUQQABITCg9GSUVMRF9UWVBFX1RFWFQQARIVChFGSUVMRF9UWVBFX05VTUJFUhACEhYKEkZJRUxEX1RZUEVfQk9PTEVBThADEhMKD0ZJRUxEX1RZUEVfREFURRAEEhUKEUZJRUxEX1RZUEVfU0VMRUNUEAUSEwoPRklFTERfVFlQRV9KU09OEAYSEwoPRklFTERfVFlQRV9MSVNUEAcSFAoQRklFTERfVFlQRV9NT0RFTBAIEhgKFEZJRUxEX1RZUEVfUkVGRVJFTkNFEAkSEwoPRklFTERfVFlQRV9GSUxFEAoSFAoQRklFTERfVFlQRV9JTUFHRRALEhQKEEZJRUxEX1RZUEVfVklERU8QDBIXChNGSUVMRF9UWVBFX0ZMRVhJQkxFEA0SEwoPRklFTERfVFlQRV9FTlVNEA4SFwoTRklFTERfVFlQRV9SSUNIVEVYVBAPKpsBChFDYWNoZUNvbnRyb2xTY29wZRIjCh9DQUNIRV9DT05UUk9MX1NDT1BFX1VOU1BFQ0lGSUVEEAASHgoaQ0FDSEVfQ09OVFJPTF9TQ09QRV9QVUJMSUMQARIfChtDQUNIRV9DT05UUk9MX1NDT1BFX1BSSVZBVEUQAhIgChxDQUNIRV9DT05UUk9MX1NDT1BFX05PX0NBQ0hFEAMyuA0KDU1vZGVsc1NlcnZpY2USQwoIR2V0TW9kZWwSGi5tb2RlbHMudjEuR2V0TW9kZWxSZXF1ZXN0GhsubW9kZWxzLnYxLkdldE1vZGVsUmVzcG9uc2USUgoNR2V0TW9kZWxCeUtleRIfLm1vZGVscy52MS5HZXRNb2RlbEJ5S2V5UmVxdWVzdBogLm1vZGVscy52MS5HZXRNb2RlbEJ5S2V5UmVzcG9uc2USSQoKTGlzdE1vZGVscxIcLm1vZGVscy52MS5MaXN0TW9kZWxzUmVxdWVzdBodLm1vZGVscy52MS5MaXN0TW9kZWxzUmVzcG9uc2USTAoLQ3JlYXRlTW9kZWwSHS5tb2RlbHMudjEuQ3JlYXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLkNyZWF0ZU1vZGVsUmVzcG9uc2USTAoLVXBkYXRlTW9kZWwSHS5tb2RlbHMudjEuVXBkYXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLlVwZGF0ZU1vZGVsUmVzcG9uc2USTAoLRGVsZXRlTW9kZWwSHS5tb2RlbHMudjEuRGVsZXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLkRlbGV0ZU1vZGVsUmVzcG9uc2USVQoORHVwbGljYXRlTW9kZWwSIC5tb2RlbHMudjEuRHVwbGljYXRlTW9kZWxSZXF1ZXN0GiEubW9kZWxzLnYxLkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USWAoPR2V0TW9kZWxWZXJzaW9uEiEubW9kZWxzLnYxLkdldE1vZGVsVmVyc2lvblJlcXVlc3QaIi5tb2RlbHMudjEuR2V0TW9kZWxWZXJzaW9uUmVzcG9uc2USXgoRTGlzdE1vZGVsVmVyc2lvbnMSIy5tb2RlbHMudjEuTGlzdE1vZGVsVmVyc2lvbnNSZXF1ZXN0GiQubW9kZWxzLnYxLkxpc3RNb2RlbFZlcnNpb25zUmVzcG9uc2USZAoTUmVzdG9yZU1vZGVsVmVyc2lvbhIlLm1vZGVscy52MS5SZXN0b3JlTW9kZWxWZXJzaW9uUmVxdWVzdBomLm1vZGVscy52MS5SZXN0b3JlTW9kZWxWZXJzaW9uUmVzcG9uc2USTwoMUHVibGlzaE1vZGVsEh4ubW9kZWxzLnYxLlB1Ymxpc2hNb2RlbFJlcXVlc3QaHy5tb2RlbHMudjEuUHVibGlzaE1vZGVsUmVzcG9uc2USVQoOVW5wdWJsaXNoTW9kZWwSIC5tb2RlbHMudjEuVW5wdWJsaXNoTW9kZWxSZXF1ZXN0GiEubW9kZWxzLnYxLlVucHVibGlzaE1vZGVsUmVzcG9uc2USagoVR2V0TW9kZWxQdWJsaXNoU3RhdHVzEicubW9kZWxzLnYxLkdldE1vZGVsUHVibGlzaFN0YXR1c1JlcXVlc3QaKC5tb2RlbHMudjEuR2V0TW9kZWxQdWJsaXNoU3RhdHVzUmVzcG9uc2USZwoUU2NoZWR1bGVNb2RlbFB1Ymxpc2gSJi5tb2RlbHMudjEuU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXF1ZXN0GicubW9kZWxzLnYxLlNjaGVkdWxlTW9kZWxQdWJsaXNoUmVzcG9uc2USfAobQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoEi0ubW9kZWxzLnYxLkNhbmNlbFNjaGVkdWxlZE1vZGVsUHVibGlzaFJlcXVlc3QaLi5tb2RlbHMudjEuQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVzcG9uc2USfAobTWFya0RlcHJlY2F0ZWRGaWVsZHNRdWVyaWVkEi0ubW9kZWxzLnYxLk1hcmtEZXByZWNhdGVkRmllbGRzUXVlcmllZFJlcXVlc3QaLi5tb2RlbHMudjEuTWFya0RlcHJlY2F0ZWRGaWVsZHNRdWVyaWVkUmVzcG9uc2USggEKHUxpc3REZXByZWNhdGVkRmllbGRDYW5kaWRhdGVzEi8ubW9kZWxzLnYxLkxpc3REZXByZWNhdGVkRmllbGRDYW5kaWRhdGVzUmVxdWVzdBowLm1vZGVscy52MS5MaXN0RGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlc1Jlc3BvbnNlEmQKE0Ryb3BEZXByZWNhdGVkRmllbGQSJS5tb2RlbHMudjEuRHJvcERlcHJlY2F0ZWRGaWVsZFJlcXVlc3QaJi5tb2RlbHMudjEuRHJvcERlcHJlY2F0ZWRGaWVsZFJlc3BvbnNlQjlaN2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9tb2RlbHMvdjE7bW9kZWxzdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_publish_v1_publish, file_common_v1_pagination, file_common_v1_access]);
15
+ fileDesc("ChZtb2RlbHMvdjEvbW9kZWxzLnByb3RvEgltb2RlbHMudjEihwUKBUZpZWxkEgoKAmlkGAEgASgJEgsKA2tleRgCIAEoCRINCgVsYWJlbBgDIAEoCRIMCgR0eXBlGAQgASgJEhAKCHJlcXVpcmVkGAUgASgIEhYKCWhlbHBfdGV4dBgGIAEoCUgAiAEBEhgKC3BsYWNlaG9sZGVyGAcgASgJSAGIAQESMgoNZGVmYXVsdF92YWx1ZRgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgCiAEBEicKBmNvbmZpZxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoJaXRlbV90eXBlGAogASgJSAOIAQESFAoHc3RvcmFnZRgLIAEoCUgEiAEBEhoKDXRlbXBsYXRlX3pvbmUYDCABKAlIBYgBARIXCgp6b25lX29yZGVyGA0gASgFSAaIAQESNgoQcmVmZXJlbmNlX2ZpbHRlchgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIB4gBARIvCgp2YWxpZGF0aW9uGA8gASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSAiIAQESFgoJcXVlcnlhYmxlGBAgASgISAmIAQESJgoGYWNjZXNzGBEgASgLMhYuY29tbW9uLnYxLkZpZWxkQWNjZXNzQgwKCl9oZWxwX3RleHRCDgoMX3BsYWNlaG9sZGVyQhAKDl9kZWZhdWx0X3ZhbHVlQgwKCl9pdGVtX3R5cGVCCgoIX3N0b3JhZ2VCEAoOX3RlbXBsYXRlX3pvbmVCDQoLX3pvbmVfb3JkZXJCEwoRX3JlZmVyZW5jZV9maWx0ZXJCDQoLX3ZhbGlkYXRpb25CDAoKX3F1ZXJ5YWJsZSI8Cg1TaGFyaW5nQ29uZmlnEg8KB2VuYWJsZWQYASABKAgSGgoScmVxdWlyZV9hY2NlcHRhbmNlGAIgASgIIvQFCgtNb2RlbENvbmZpZxISCgp2ZXJzaW9uaW5nGAEgASgIEhIKCnB1Ymxpc2hpbmcYAiABKAgSEAoIdmFyaWFudHMYAyABKAgSDgoGaW5saW5lGAQgASgIEhcKD2N1c3RvbWVyX3Njb3BlZBgFIAEoCBIuCgdzaGFyaW5nGAYgASgLMhgubW9kZWxzLnYxLlNoYXJpbmdDb25maWdIAIgBARIYCgtwbHVyYWxfbmFtZRgHIAEoCUgBiAEBEhgKC2Rlc2NyaXB0aW9uGAggASgJSAKIAQESFQoIY2F0ZWdvcnkYCSABKAlIA4gBARIRCgRpY29uGAogASgJSASIAQESGgoNZGlzcGxheV9maWVsZBgLIAEoCUgFiAEBEhUKDXN5c3RlbV9lbnRpdHkYDSABKAgSFgoJZGVsZXRhYmxlGA4gASgISAaIAQESFQoIZWRpdGFibGUYDyABKAhIB4gBARI1Cg9tZXRhZGF0YV9zY2hlbWEYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAiIAQESKwoFaG9va3MYESABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAmIAQESFwoKcGx1cmFsX2tleRgSIAEoCUgKiAEBEiwKB2xvb2t1cHMYEyADKAsyGy5tb2RlbHMudjEuTG9va3VwRGVmaW5pdGlvbhI5Cg1jYWNoZV9jb250cm9sGBQgASgLMh0ubW9kZWxzLnYxLkNhY2hlQ29udHJvbENvbmZpZ0gLiAEBQgoKCF9zaGFyaW5nQg4KDF9wbHVyYWxfbmFtZUIOCgxfZGVzY3JpcHRpb25CCwoJX2NhdGVnb3J5QgcKBV9pY29uQhAKDl9kaXNwbGF5X2ZpZWxkQgwKCl9kZWxldGFibGVCCwoJX2VkaXRhYmxlQhIKEF9tZXRhZGF0YV9zY2hlbWFCCAoGX2hvb2tzQg0KC19wbHVyYWxfa2V5QhAKDl9jYWNoZV9jb250cm9sIlIKEkNhY2hlQ29udHJvbENvbmZpZxIPCgdtYXhfYWdlGAEgASgFEisKBXNjb3BlGAIgASgOMhwubW9kZWxzLnYxLkNhY2hlQ29udHJvbFNjb3BlIj4KEExvb2t1cERlZmluaXRpb24SDgoGa2V5X2J5GAEgAygJEhEKBG5hbWUYAiABKAlIAIgBAUIHCgVfbmFtZSKJAQoRTW9kZWxDYXBhYmlsaXRpZXMSFAoMaXNfdmVyc2lvbmVkGAEgASgIEhYKDmlzX3B1Ymxpc2hhYmxlGAIgASgIEhQKDGhhc192YXJpYW50cxgDIAEoCBIXCg9jdXN0b21lcl9zY29wZWQYBCABKAgSFwoPc2hhcmluZ19lbmFibGVkGAUgASgIIo8HCgVNb2RlbBIKCgJpZBgBIAEoCRILCgNrZXkYAiABKAkSDAoEbmFtZRgDIAEoCRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSJgoGY29uZmlnGAUgASgLMhYubW9kZWxzLnYxLk1vZGVsQ29uZmlnEhYKCWNvbmZpZ19pZBgGIAEoCUgAiAEBEjIKDGNhcGFiaWxpdGllcxgHIAEoCzIcLm1vZGVscy52MS5Nb2RlbENhcGFiaWxpdGllcxIfChJjdXJyZW50X3ZlcnNpb25faWQYCCABKAlIAYgBARIlChhwdWJsaXNoZWRfdmVyc2lvbl9udW1iZXIYCSABKAVIAogBARIRCgl0ZW5hbnRfaWQYCiABKAkSEgoKcHJvamVjdF9pZBgLIAEoCRIXCgpjcmVhdGVkX2J5GBQgASgJSAOIAQESFwoKdXBkYXRlZF9ieRgVIAEoCUgEiAEBEi4KCmNyZWF0ZWRfYXQYHiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYHyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKEmxhc3RfcHVzaGVkX2ZpZWxkcxgoIAMoCzIQLm1vZGVscy52MS5GaWVsZBI3Cg5sYXN0X3B1c2hlZF9hdBgpIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARIhChRwdWJsaXNoZWRfdmVyc2lvbl9pZBgqIAEoCUgGiAEBEj0KFHNjaGVkdWxlZF9wdWJsaXNoX2F0GCsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgHiAEBEj8KFnNjaGVkdWxlZF91bnB1Ymxpc2hfYXQYLCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAiIAQFCDAoKX2NvbmZpZ19pZEIVChNfY3VycmVudF92ZXJzaW9uX2lkQhsKGV9wdWJsaXNoZWRfdmVyc2lvbl9udW1iZXJCDQoLX2NyZWF0ZWRfYnlCDQoLX3VwZGF0ZWRfYnlCEQoPX2xhc3RfcHVzaGVkX2F0QhcKFV9wdWJsaXNoZWRfdmVyc2lvbl9pZEIXChVfc2NoZWR1bGVkX3B1Ymxpc2hfYXRCGQoXX3NjaGVkdWxlZF91bnB1Ymxpc2hfYXQiwgIKDE1vZGVsVmVyc2lvbhIKCgJpZBgBIAEoCRIQCghtb2RlbF9pZBgCIAEoCRIWCg52ZXJzaW9uX251bWJlchgDIAEoBRIgCgZmaWVsZHMYBCADKAsyEC5tb2RlbHMudjEuRmllbGQSFAoMY29udGVudF9oYXNoGAUgASgJEh4KEXNvdXJjZV92ZXJzaW9uX2lkGAYgASgJSACIAQESHwoSY2hhbmdlX2Rlc2NyaXB0aW9uGAcgASgJSAGIAQESLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoKY3JlYXRlZF9ieRgJIAEoCUgCiAEBQhQKEl9zb3VyY2VfdmVyc2lvbl9pZEIVChNfY2hhbmdlX2Rlc2NyaXB0aW9uQg0KC19jcmVhdGVkX2J5Is0BChJDcmVhdGVNb2RlbFJlcXVlc3QSCwoDa2V5GAEgASgJEgwKBG5hbWUYAiABKAkSIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gAiAEBEhYKCWNvbmZpZ19pZBgFIAEoCUgBiAEBEhwKFHVwZGF0ZV9wdXNoX3NuYXBzaG90GAYgASgIQgkKB19jb25maWdCDAoKX2NvbmZpZ19pZCI2ChNDcmVhdGVNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIh0KD0dldE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSIzChBHZXRNb2RlbFJlc3BvbnNlEh8KBW1vZGVsGAEgASgLMhAubW9kZWxzLnYxLk1vZGVsIiMKFEdldE1vZGVsQnlLZXlSZXF1ZXN0EgsKA2tleRgBIAEoCSI4ChVHZXRNb2RlbEJ5S2V5UmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiwgEKEUxpc3RNb2RlbHNSZXF1ZXN0EhIKBWFmdGVyGAYgASgJSACIAQESEwoGYmVmb3JlGAcgASgJSAGIAQESEgoFZmlyc3QYCCABKAVIAogBARIRCgRsYXN0GAkgASgFSAOIAQESKwoFd2hlcmUYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SASIAQFCCAoGX2FmdGVyQgkKB19iZWZvcmVCCAoGX2ZpcnN0QgcKBV9sYXN0QggKBl93aGVyZSKRAQoSTGlzdE1vZGVsc1Jlc3BvbnNlEiAKBm1vZGVscxgBIAMoCzIQLm1vZGVscy52MS5Nb2RlbBINCgV0b3RhbBgCIAEoBRIrCglwYWdlX2luZm8YAyABKAsyEy5jb21tb24udjEuUGFnZUluZm9IAIgBARIPCgdjdXJzb3JzGAQgAygJQgwKCl9wYWdlX2luZm8iuAIKElVwZGF0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESIAoGZmllbGRzGAMgAygLMhAubW9kZWxzLnYxLkZpZWxkEisKBmNvbmZpZxgEIAEoCzIWLm1vZGVscy52MS5Nb2RlbENvbmZpZ0gBiAEBEh8KEmNoYW5nZV9kZXNjcmlwdGlvbhgFIAEoCUgCiAEBEhUKDXVwZGF0ZV9maWVsZHMYBiABKAgSHAoUdXBkYXRlX3B1c2hfc25hcHNob3QYByABKAgSFQoNc25hcHNob3Rfb25seRgIIAEoCBIcChRhbGxvd19sb29rdXBfcmVidWlsZBgJIAEoCEIHCgVfbmFtZUIJCgdfY29uZmlnQhUKE19jaGFuZ2VfZGVzY3JpcHRpb24iNgoTVXBkYXRlTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIgChJEZWxldGVNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiJgoTRGVsZXRlTW9kZWxSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIkYKFUR1cGxpY2F0ZU1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgduZXdfa2V5GAIgASgJEhAKCG5ld19uYW1lGAMgASgJIjkKFkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwipAEKGExpc3RNb2RlbFZlcnNpb25zUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRISCgVhZnRlchgCIAEoCUgAiAEBEhMKBmJlZm9yZRgDIAEoCUgBiAEBEhIKBWZpcnN0GAQgASgFSAKIAQESEQoEbGFzdBgFIAEoBUgDiAEBQggKBl9hZnRlckIJCgdfYmVmb3JlQggKBl9maXJzdEIHCgVfbGFzdCKhAQoZTGlzdE1vZGVsVmVyc2lvbnNSZXNwb25zZRIpCgh2ZXJzaW9ucxgBIAMoCzIXLm1vZGVscy52MS5Nb2RlbFZlcnNpb24SDQoFdG90YWwYAiABKAUSKwoJcGFnZV9pbmZvGAMgASgLMhMuY29tbW9uLnYxLlBhZ2VJbmZvSACIAQESDwoHY3Vyc29ycxgEIAMoCUIMCgpfcGFnZV9pbmZvIj4KFkdldE1vZGVsVmVyc2lvblJlcXVlc3QSEAoIbW9kZWxfaWQYASABKAkSEgoKdmVyc2lvbl9pZBgCIAEoCSJDChdHZXRNb2RlbFZlcnNpb25SZXNwb25zZRIoCgd2ZXJzaW9uGAEgASgLMhcubW9kZWxzLnYxLk1vZGVsVmVyc2lvbiJCChpSZXN0b3JlTW9kZWxWZXJzaW9uUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRISCgp2ZXJzaW9uX2lkGAIgASgJIj4KG1Jlc3RvcmVNb2RlbFZlcnNpb25SZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCJjChREZXByZWNhdGVkRmllbGRUb3VjaBIRCgl0ZW5hbnRfaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRIRCgltb2RlbF9rZXkYAyABKAkSEQoJZmllbGRfa2V5GAQgASgJIlYKIk1hcmtEZXByZWNhdGVkRmllbGRzUXVlcmllZFJlcXVlc3QSMAoHdG91Y2hlcxgBIAMoCzIfLm1vZGVscy52MS5EZXByZWNhdGVkRmllbGRUb3VjaCI2CiNNYXJrRGVwcmVjYXRlZEZpZWxkc1F1ZXJpZWRSZXNwb25zZRIPCgd1cGRhdGVkGAEgASgFIvcBChhEZXByZWNhdGVkRmllbGRDYW5kaWRhdGUSEQoJdGVuYW50X2lkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEAoIbW9kZWxfaWQYAyABKAkSEQoJbW9kZWxfa2V5GAQgASgJEhEKCWZpZWxkX2tleRgFIAEoCRIuCgpkZWxldGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI4Cg9sYXN0X3F1ZXJpZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCEgoQX2xhc3RfcXVlcmllZF9hdCK8AQokTGlzdERlcHJlY2F0ZWRGaWVsZENhbmRpZGF0ZXNSZXF1ZXN0EhwKFGdyYWNlX3BlcmlvZF9zZWNvbmRzGAEgASgDEhIKBWZpcnN0GAIgASgFSACIAQESEgoFYWZ0ZXIYAyABKAlIAYgBARIRCgRsYXN0GAQgASgFSAKIAQESEwoGYmVmb3JlGAUgASgJSAOIAQFCCAoGX2ZpcnN0QggKBl9hZnRlckIHCgVfbGFzdEIJCgdfYmVmb3JlIrsBCiVMaXN0RGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlc1Jlc3BvbnNlEjcKCmNhbmRpZGF0ZXMYASADKAsyIy5tb2RlbHMudjEuRGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlEg0KBXRvdGFsGAIgASgFEisKCXBhZ2VfaW5mbxgDIAEoCzITLmNvbW1vbi52MS5QYWdlSW5mb0gAiAEBEg8KB2N1cnNvcnMYBCADKAlCDAoKX3BhZ2VfaW5mbyJBChpEcm9wRGVwcmVjYXRlZEZpZWxkUmVxdWVzdBIQCghtb2RlbF9pZBgBIAEoCRIRCglmaWVsZF9rZXkYAiABKAkiLgobRHJvcERlcHJlY2F0ZWRGaWVsZFJlc3BvbnNlEg8KB2Ryb3BwZWQYASABKAgiIQoTUHVibGlzaE1vZGVsUmVxdWVzdBIKCgJpZBgBIAEoCSJtChRQdWJsaXNoTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbBI0ChBicmVha2luZ19jaGFuZ2VzGAIgAygLMhoucHVibGlzaC52MS5CcmVha2luZ0NoYW5nZSIjChVVbnB1Ymxpc2hNb2RlbFJlcXVlc3QSCgoCaWQYASABKAkiOQoWVW5wdWJsaXNoTW9kZWxSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCIqChxHZXRNb2RlbFB1Ymxpc2hTdGF0dXNSZXF1ZXN0EgoKAmlkGAEgASgJIkoKHUdldE1vZGVsUHVibGlzaFN0YXR1c1Jlc3BvbnNlEikKBnN0YXR1cxgBIAEoCzIZLnB1Ymxpc2gudjEuUHVibGlzaFN0YXR1cyKhAQobU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXF1ZXN0EgoKAmlkGAEgASgJEi4KCnB1Ymxpc2hfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjUKDHVucHVibGlzaF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIPCg1fdW5wdWJsaXNoX2F0Ij8KHFNjaGVkdWxlTW9kZWxQdWJsaXNoUmVzcG9uc2USHwoFbW9kZWwYASABKAsyEC5tb2RlbHMudjEuTW9kZWwiMAoiQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVxdWVzdBIKCgJpZBgBIAEoCSJGCiNDYW5jZWxTY2hlZHVsZWRNb2RlbFB1Ymxpc2hSZXNwb25zZRIfCgVtb2RlbBgBIAEoCzIQLm1vZGVscy52MS5Nb2RlbCr5AgoJRmllbGRUeXBlEhoKFkZJRUxEX1RZUEVfVU5TUEVDSUZJRUQQABITCg9GSUVMRF9UWVBFX1RFWFQQARIVChFGSUVMRF9UWVBFX05VTUJFUhACEhYKEkZJRUxEX1RZUEVfQk9PTEVBThADEhMKD0ZJRUxEX1RZUEVfREFURRAEEhUKEUZJRUxEX1RZUEVfU0VMRUNUEAUSEwoPRklFTERfVFlQRV9KU09OEAYSEwoPRklFTERfVFlQRV9MSVNUEAcSFAoQRklFTERfVFlQRV9NT0RFTBAIEhgKFEZJRUxEX1RZUEVfUkVGRVJFTkNFEAkSEwoPRklFTERfVFlQRV9GSUxFEAoSFAoQRklFTERfVFlQRV9JTUFHRRALEhQKEEZJRUxEX1RZUEVfVklERU8QDBIXChNGSUVMRF9UWVBFX0ZMRVhJQkxFEA0SEwoPRklFTERfVFlQRV9FTlVNEA4SFwoTRklFTERfVFlQRV9SSUNIVEVYVBAPKpsBChFDYWNoZUNvbnRyb2xTY29wZRIjCh9DQUNIRV9DT05UUk9MX1NDT1BFX1VOU1BFQ0lGSUVEEAASHgoaQ0FDSEVfQ09OVFJPTF9TQ09QRV9QVUJMSUMQARIfChtDQUNIRV9DT05UUk9MX1NDT1BFX1BSSVZBVEUQAhIgChxDQUNIRV9DT05UUk9MX1NDT1BFX05PX0NBQ0hFEAMyuA0KDU1vZGVsc1NlcnZpY2USQwoIR2V0TW9kZWwSGi5tb2RlbHMudjEuR2V0TW9kZWxSZXF1ZXN0GhsubW9kZWxzLnYxLkdldE1vZGVsUmVzcG9uc2USUgoNR2V0TW9kZWxCeUtleRIfLm1vZGVscy52MS5HZXRNb2RlbEJ5S2V5UmVxdWVzdBogLm1vZGVscy52MS5HZXRNb2RlbEJ5S2V5UmVzcG9uc2USSQoKTGlzdE1vZGVscxIcLm1vZGVscy52MS5MaXN0TW9kZWxzUmVxdWVzdBodLm1vZGVscy52MS5MaXN0TW9kZWxzUmVzcG9uc2USTAoLQ3JlYXRlTW9kZWwSHS5tb2RlbHMudjEuQ3JlYXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLkNyZWF0ZU1vZGVsUmVzcG9uc2USTAoLVXBkYXRlTW9kZWwSHS5tb2RlbHMudjEuVXBkYXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLlVwZGF0ZU1vZGVsUmVzcG9uc2USTAoLRGVsZXRlTW9kZWwSHS5tb2RlbHMudjEuRGVsZXRlTW9kZWxSZXF1ZXN0Gh4ubW9kZWxzLnYxLkRlbGV0ZU1vZGVsUmVzcG9uc2USVQoORHVwbGljYXRlTW9kZWwSIC5tb2RlbHMudjEuRHVwbGljYXRlTW9kZWxSZXF1ZXN0GiEubW9kZWxzLnYxLkR1cGxpY2F0ZU1vZGVsUmVzcG9uc2USWAoPR2V0TW9kZWxWZXJzaW9uEiEubW9kZWxzLnYxLkdldE1vZGVsVmVyc2lvblJlcXVlc3QaIi5tb2RlbHMudjEuR2V0TW9kZWxWZXJzaW9uUmVzcG9uc2USXgoRTGlzdE1vZGVsVmVyc2lvbnMSIy5tb2RlbHMudjEuTGlzdE1vZGVsVmVyc2lvbnNSZXF1ZXN0GiQubW9kZWxzLnYxLkxpc3RNb2RlbFZlcnNpb25zUmVzcG9uc2USZAoTUmVzdG9yZU1vZGVsVmVyc2lvbhIlLm1vZGVscy52MS5SZXN0b3JlTW9kZWxWZXJzaW9uUmVxdWVzdBomLm1vZGVscy52MS5SZXN0b3JlTW9kZWxWZXJzaW9uUmVzcG9uc2USTwoMUHVibGlzaE1vZGVsEh4ubW9kZWxzLnYxLlB1Ymxpc2hNb2RlbFJlcXVlc3QaHy5tb2RlbHMudjEuUHVibGlzaE1vZGVsUmVzcG9uc2USVQoOVW5wdWJsaXNoTW9kZWwSIC5tb2RlbHMudjEuVW5wdWJsaXNoTW9kZWxSZXF1ZXN0GiEubW9kZWxzLnYxLlVucHVibGlzaE1vZGVsUmVzcG9uc2USagoVR2V0TW9kZWxQdWJsaXNoU3RhdHVzEicubW9kZWxzLnYxLkdldE1vZGVsUHVibGlzaFN0YXR1c1JlcXVlc3QaKC5tb2RlbHMudjEuR2V0TW9kZWxQdWJsaXNoU3RhdHVzUmVzcG9uc2USZwoUU2NoZWR1bGVNb2RlbFB1Ymxpc2gSJi5tb2RlbHMudjEuU2NoZWR1bGVNb2RlbFB1Ymxpc2hSZXF1ZXN0GicubW9kZWxzLnYxLlNjaGVkdWxlTW9kZWxQdWJsaXNoUmVzcG9uc2USfAobQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoEi0ubW9kZWxzLnYxLkNhbmNlbFNjaGVkdWxlZE1vZGVsUHVibGlzaFJlcXVlc3QaLi5tb2RlbHMudjEuQ2FuY2VsU2NoZWR1bGVkTW9kZWxQdWJsaXNoUmVzcG9uc2USfAobTWFya0RlcHJlY2F0ZWRGaWVsZHNRdWVyaWVkEi0ubW9kZWxzLnYxLk1hcmtEZXByZWNhdGVkRmllbGRzUXVlcmllZFJlcXVlc3QaLi5tb2RlbHMudjEuTWFya0RlcHJlY2F0ZWRGaWVsZHNRdWVyaWVkUmVzcG9uc2USggEKHUxpc3REZXByZWNhdGVkRmllbGRDYW5kaWRhdGVzEi8ubW9kZWxzLnYxLkxpc3REZXByZWNhdGVkRmllbGRDYW5kaWRhdGVzUmVxdWVzdBowLm1vZGVscy52MS5MaXN0RGVwcmVjYXRlZEZpZWxkQ2FuZGlkYXRlc1Jlc3BvbnNlEmQKE0Ryb3BEZXByZWNhdGVkRmllbGQSJS5tb2RlbHMudjEuRHJvcERlcHJlY2F0ZWRGaWVsZFJlcXVlc3QaJi5tb2RlbHMudjEuRHJvcERlcHJlY2F0ZWRGaWVsZFJlc3BvbnNlQjlaN2dpdGh1Yi5jb20vZWlkZXN0dWRpby9mb2lyL2dlbi9wcm90by9tb2RlbHMvdjE7bW9kZWxzdjFiBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_publish_v1_publish, file_common_v1_pagination, file_common_v1_access]);
16
16
 
17
17
  /**
18
18
  * Describes the message models.v1.Field.